升级到rails 5.0后无法运行rails db:migrate

时间:2017-04-17 15:57:45

标签: ruby-on-rails ruby-on-rails-5

Ruby 2.3.1。

我正在尝试将我的rails应用程序从4.2升级到5.0。到目前为止,我有:

  • 成功升级了Gemfile并成功运行bundle update rails
  • 运行rails app:update,确保不会覆盖任何自定义更改。
  • 添加了ApplicationRecord基类,让我的所有模型继承自它。

现在我正在尝试运行rails db:migrate并收到此错误:

rails aborted!
TypeError: {:to_prepare=>"use ActiveSupport::Reloader.to_prepare instead", :to_cleanup=>"use ActiveSupport::Reloader.to_complete instead", :prepare!=>"use Rails.application.reloader.prepare! instead", :cleanup!=>"use Rails.application.reloader.reload! instead of cleanup + prepare"} is not a symbol nor a string
my_app/config/environment.rb:6:in `<top (required)>'
bin/rails:4:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)

以下是enviornment.rb

# Load the Rails application.
require_relative 'application'

# Initialize the Rails application.
Rails.application.initialize! # <--- the error happens here

FWIW,运行rails c会产生相同的错误。

我需要更改以解决此问题?我不确定其他文件有什么用处。如果我可以分享其他任何内容,请告诉我。

更新

我已添加ApplicationRecord基类,并且我的所有模型都从中继承。资料来源:http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#active-record-models-now-inherit-from-applicationrecord-by-default

更新2

正在运行bundle exec rake db:migrate会得到与rails db:migrate

相同的结果

0 个答案:

没有答案