使用命令
创建新网站后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
谢谢。
答案 0 :(得分:0)
不知道更多,我不确定是什么导致了这种奇怪的行为。如果再次发生这种情况,我建议删除并创建所有数据库:
rake db:drop:all && rake db:create:all
答案 1 :(得分:0)
“不存在”错误导致我使用外部工具删除数据库。
然后,为了摆脱持续存在的“已存在”错误,我将“schema.rb”重命名为“old_broken_db_schema.rb”。
这允许我创建和迁移数据库。