我正在尝试使用“taps”gem ( https://github.com/ricardochimal/taps ) 将 SQLite3 数据库迁移到 PostgreSQL 数据库,如 Change from SQLite to PostgreSQL in a fresh Rails project 中所述。并在 http://railscasts.com/episodes/342-migrating-to-postgresql
我有一台 Windows 7 计算机,在 c:\Sites\MySite 中有一个 Rails 应用程序,在 c:\Sites\MySite\db\development.sqlite3 中有数据库
每当我尝试启动 Taps 服务器时,都会出现此异常:
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/sequel-3.20.0/lib/sequel/adapters/sqlite.rb:62:in `initialize': SQLite3::CantOpenException: unable to open database file (Sequel::DatabaseConnectionError)
这是我尝试过的(所有尝试都是在使用管理员权限运行命令提示符时尝试的):
rem From C:\Sites\MySite:
taps server sqlite://db/development.sqlite3 eo secret
taps server sqlite:///db/development.sqlite3 eo secret
taps server sqlite://c:/sites/mysite/db/development.sqlite3 eo secret
taps server sqlite:///c:/sites/mysite/db/development.sqlite3 eo secret
rem From C:\Sites\MySite\db:
taps server sqlite://development.sqlite3 eo secret
taps server sqlite:///development.sqlite3 eo secret
以上方法均无效。 Taps gem 的文档并没有被证明有帮助。这样做的正确方法是什么?
最佳答案
错误表明文件无法打开,但至少您提供的几个连接字符串应该可以工作。
您可以尝试从 C:\Sites\MySite
执行以下操作(直接使用 Sequel,而不是点击):
sequel -C sqlite://db/development.sqlite3 postgres://user:pass@host/database
关于ruby-on-rails - 使用 'taps' gem 在 Windows 上将 SQLite3 迁移到 PostgreSQL 时出现 CantOpenException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16486962/