你好开发者我遇到了麻烦
当我尝试执行rake db:migrate时,它会返回一个警告,但它似乎没有进行迁移。 这是错误:
sanchez@danik21:/var/www/nubedianWebSite$ rake db:migrate
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /var/www/nubedianWebSite/Rakefile:7)
sanchez@danik21:/var/www/nubedianWebSite$
然后我有这个错误:
Started GET "/" for 141.21.12.238 at 2014-04-10 10:27:49 +0200
Processing by Refinery::PagesController#home as HTML
Parameters: {"locale"=>:de}
Completed 500 Internal Server Error in 7ms
ActiveRecord::StatementInvalid (Could not find table 'refinery_roles'):
app/models/refinery/role.rb:14:in `[]'
我正在使用rails 3.2.6和refineryCMS。
我希望你的答案很快。 安东尼奥
答案 0 :(得分:2)
如前所述,您所看到的不是错误,而是一个警告。升级到Rails 4.0时,您需要对供应商插件进行更改,但鉴于您使用的是3.2.6,现在可以忽略它。
rake db:migrate
没有给出任何其他输出这一事实意味着没有任何事情要做。这可能意味着您认为正在加载的迁移已应用于数据库。你说表是创建的;这是已经应用迁移的另一个迹象。
迁移的文件名将以14位数字开头。在您的数据库中将是一个名为schema_migrations
的表。此表中只有一列:version
。如果此表中有一个14位数字的条目,则已经应用了迁移,因此再次运行rake db:migrate
将不会执行任何操作。
除非您将其回滚,否则应该只对每个环境应用一次迁移。