db:创建误报数据库存在



使用命令创建新站点后

rails new board --skip-bundle
...
rake db:create

我有类似"XXXXX 已经存在"的消息,该消息不一致,表明出现问题。

复制:

rails new board --skip-bundle 
...
$ rake db:migrate
rake aborted!
FATAL:  database "boardio" does not exist
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

如果要尝试创建 db,则:

$ rake db:create
boardio already exists

它在这里说"存在"。它只是说"不存在":为什么耙子会给出错误的信息?出了什么问题?此迁移似乎运行正常后:

$ rake db:migrate
==  CreateMyTables: migrating =================================================
-- create_table("users")
NOTICE:  CREATE TABLE will create ........column "users.id"
.............

有关版本的详细信息:

$ ruby --version
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
$ rails --version
Rails 3.1.3

谢谢。

不知道更多,我不确定是什么导致了这种奇怪的行为。如果再次发生这种情况,我建议删除并创建所有数据库:

rake db:drop:all && rake db:create:all

"不存在"错误导致我使用外部工具来删除数据库。

然后,为了摆脱仍然存在的"已经存在"错误,我将"schema.rb"重命名为"old_broken_db_schema.rb"。

这允许我创建和迁移数据库。

最新更新