在什么情况下会在rails(db)中发生这种情况?

时间:2012-04-19 02:32:12

标签: ruby-on-rails ruby

对这个混乱感到非常困惑:

rake db:drop
>
rake db:create
> my_database already exists
rake db:migrate
> unknown database my_database

欣赏任何见解。

2 个答案:

答案 0 :(得分:3)

那是因为你第一次做rake db:创建它会创建两个数据库,一个是开发,另一个是测试。那么当你做rake db:drop它会丢弃数据库,但它只会丢弃开发数据库而不是测试数据库。所以尝试明确地删除测试数据库,一切都应该没问题。

答案 1 :(得分:0)

尝试:

rake db:drop
rake db:create RAILS_ENV=development
rake db:migrate RAILS_ENV=development

如果获得相同的错误,则打开mysql终端并手动创建数据库:

CREATE DATABASE database_name;

然后运行

rake db:migrate