2

使用命令创建新站点后

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)

如果尝试创建数据库,那么:

$ 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

谢谢你。

4

2 回答 2

0

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

rake db:drop:all && rake db:create:all
于 2012-06-04T21:09:55.360 回答
0

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

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

这使我能够创建和迁移数据库。

于 2015-06-17T12:36:53.637 回答