使用'taps'gem在Windows上将SQLite3迁移到PostgreSQL时出现CantOpenException

时间:2013-05-10 16:38:31

标签: ruby-on-rails postgresql sqlite sequel taps

我正在尝试使用'taps'gem(https://github.com/ricardochimal/taps)将SQLite3数据库迁移到PostgreSQL数据库,如Change from SQLite to PostgreSQL in a fresh Rails projecthttp://railscasts.com/episodes/342-migrating-to-postgresql

中所述

我有一台Windows 7机器,在c:\ Sites \ MySite中有一个Rails应用程序,在c:\ Sites \ MySite \ db \ development.sqlite3中有一个数据库

每当我尝试启动水龙头服务器时,我都会遇到以下异常:

  

C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/sequel-3.20.0/lib/sequel/adapters/sqlite.rb:62:在   `initialize':SQLite3 :: CantOpenException:无法打开数据库文件   (续集:: 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

以上都没有奏效。点击宝石的文档并没有证明是有用的。这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

错误表示无法打开文件,但至少有几个连接字符串可以正常工作。

您可以尝试从C:\Sites\MySite执行以下操作(直接使用Sequel,而不是点击):

sequel -C sqlite://db/development.sqlite3 postgres://user:pass@host/database