使用命令创建新站点后
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"。
这允许我创建和迁移数据库。