db:创建misreports数据库存在

时间:2012-06-04 13:51:57

标签: ruby-on-rails

使用命令

创建新网站后
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会给出错误的信息?出了什么问题? 在此迁移之后似乎运行正常:

$ 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

谢谢。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

然后,为了摆脱持续存在的“已存在”错误,我将“schema.rb”重命名为“old_broken_db_schema.rb”。

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