迁移我跑了一大MySql2分贝简单的轨道迁移到列添加到表:Rails的迁移似乎完成,但耙仍显示为待定
class AddMiddleNameToPerson < ActiveRecord::Migration[5.0]
def change
add_column :person, :middle_name, :string
end
end
我是从运行轨道与服务器断开连接应用程序在迁移期间。然后我重新连接并检查迁移状态与bundle exec rake db:migrate:status
,这表明了它,当:
down 20170424182410 Add middle name to person
我认为它仍然在后台运行。所以我离开了它一段时间,最终使用rails控制台验证了person.middle_name可以在对象上访问。然而,db:migrate:status
仍显示迁移为关闭,如果我再次尝试运行db:migrate
我得到一个错误:
Mysql2::Error: Duplicate column name 'middle_name'
如此看来,新列是在数据库中,并通过ActiveRecord的访问,但是rake db:migrate:status
认定迁移为down
和rake db:migrate
尝试重新运行它,失败。
最终完成类似于此的操作来解决问题。接受。 – wildabeast