全局化3:运行'rake db:seed'任务时出现“Mysql2 :: Error:Unknown database”

时间:2012-04-07 23:45:55

标签: mysql ruby-on-rails ruby internationalization globalize3

我正在使用rails-3.2.2,i18n-0.6.0和globalize3-0.2.0 ruby​​-gems。我installed并为名为Article的班级正确运行Globalized。但是,当我在终端窗口中运行rake db:seed任务时,我收到以下错误:

$ rake db:seed
rake aborted!
Mysql2::Error: Unknown database 'article_translations': SHOW TABLES IN article_translations LIKE 'title'

在我的<ROOT_APP>/config/seed.rb文件中,我有:

Article.find_or_create_by_title(
  :title => 'Title example',
  ...
)

在我的<ROOT_APP>/app/models/article.rb文件中,我有:

class Article < ActiveRecord::Base
  translates :title, :fallbacks_for_empty_translations => true

  ...
end

如何解决错误?

https://github.com/svenfuchs/globalize3/pull/123的更多详情。


注意:我认为问题与find_or_create_by_title中调用的<ROOT_APP>/config/seed.rb方法有关(事实上,如果我使用find方法而不是find_or_create_by_title我没有得到上面解释的rake错误。如果是真的,我可以做些什么来保持我的seed.rb文件清除,因为我需要一些黑客(例如,如下所示)来解决问题?< / em>的

# The below code has the same effect as the 'find_or_create_by_title' method.
Article.create(:title, 'Title example updated!') unless Article.exists?(:title => 'Title example')

1 个答案:

答案 0 :(得分:1)

您可能无法运行rake db:create / rake db:migrate first