尝试运行rake db:migrate
时出现错误:
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "plus_ids" of relation "comments" does not exist
我想在尝试从评论模型中删除属性plus_ids时,我确实做了一些时髦的事情。我不确定发生了什么。
如果我执行rake db:reset
然后获取实时数据库,则它全部在本地工作,但如果我尝试执行rake db:migrate
,则会再次引发错误。
如何正确摆脱plus_ids以便我可以迁移?
编辑1:这是我添加(和删除)属性时的迁移文件:
class RemovePlusIdsFromComments < ActiveRecord::Migration
def change
remove_column :comments, :plus_ids, :integer
end
end
然后
class AddPlusIdsToComments < ActiveRecord::Migration
def change
add_column :comments, :plus_ids, :integer
end
end
他们在迁移列表中的顺序错误,不确定原因。
编辑2:我认为向上/向下有问题,如果我运行rake db:migrate:status
我得到了这个:
down 20150305203336 Remove plus ids from comments
down 20150305204404 Add plus ids to comments
有什么方法吗?
答案 0 :(得分:0)
答案是运行
rake db:migrate:up VERSION=20150305204404
在现场和本地,然后
rake db:migrate
再次。现在,实时和本地数据库再次同步,迁移数据库不会引发任何错误。