【问题标题】:Why do rake database tasks behave strange when dropping and creating a database?为什么 rake 数据库任务在删除和创建数据库时表现异常?
【发布时间】:2014-01-17 08:28:53
【问题描述】:

我使用 rake 删除开发数据库使用

rake db:drop

它实际上删除了数据库,但它也抱怨不知道数据库:

Unknown database 'my_development'
/Users/memyselfandi/.rvm/gems/ruby-1.9.3-p429/gems/mysql2-0.3.14/lib/mysql2/client.rb:67:in `connect'
/Users/memyselfandi/.rvm/gems/ruby-1.9.3-p429/gems/mysql2-0.3.14/lib/mysql2/client.rb:67:in `initialize'
/Users/memyselfandi/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-4.0.1/lib/active_record/connection_adapters/mysql2_adapter.rb:18:in `new'
....
/Users/memyselfandi/.rvm/gems/ruby-1.9.3-p429/bin/rake:23:in `<main>'
Couldn't drop my_development

这很奇怪,因为此时 is 数据库不存在了。

使用创建数据库

rake db:create

表现同样奇怪

my_development already exists

但在执行rake db:create 之前它并不存在。我想我的项目有问题,但我不知道去哪里找。

【问题讨论】:

  • 你的测试数据库叫什么名字?
  • 啊!一样的。我们的 database.yml 是从另一个配置文件自动生成的,因此它与开发数据库具有相同的名称。非常感谢!
  • Np.. 很高兴它起作用了:)。我已将其添加为答案..

标签: mysql ruby-on-rails ruby rake


【解决方案1】:

rake db:create 创建您的开发和测试数据库。如果它们的名称相同,则会出现这些错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-25
    • 1970-01-01
    • 2020-04-11
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    相关资源
    最近更新 更多