我在heroku上运行了一个正在运行的应用程序,但schema_migrations表存在问题。
db/schema.rb
文件中存在上次迁移更改,但schema_migrations
表中没有此迁移的条目。
因此,在运行rake db:version
时,我获得了与上次迁移之前执行的迁移相对应的数字。
我相信我应该在schema_migrations
表上为此迁移添加一个条目,但我不知道如何在不影响数据库日期和远程heroku的情况下执行此操作。
答案 0 :(得分:6)
我遇到了类似的问题,我的schema_migrations表中没有迁移。所以我必须运行这个:
Dir.open('db/migrate').each do |fname|
i = fname.split('_').first.to_i
next if i == 0
ActiveRecord::Base.connection.execute("INSERT INTO schema_migrations (version) VALUES(#{i})")
end