我正在为我的数据库(基本版本)使用Heroku Postgres插件。 Ruby Sequel是我的模式管理ORM。Ruby Sequel迁移正在运行,但未能添加列
最近,一些迁移没有更新数据库模式。
我跑迁移19 019_add_last_unique_story_to_user.rb:
Sequel.migration do
up do
alter_table(:state_tables) do
add_column :last_unique_story, Integer, default: 0
add_column :last_unique_story_read?, TrueClass, default: true
end
end
down do
alter_table(:state_tables) do
drop_column :last_unique_story
drop_column :last_unique_story_read?
end
end
end
此更新DB [:SCHEMA_INFO]从版本18到19岁,但没有列被添加到:state_table表。生产数据库和本地数据库都存在此问题。我试过多次迁移并检查数据库网址是否正确。
我速战速决: 我复制并粘贴上面的代码为迁移,020_test.rb,跑到我的耙迁移任务rake db:migrate:up
。这成功地更新了数据库。
有人知道这里会发生什么吗?为什么一些迁移成功运行,更新迁移版本,但不更新任何列?这可能是命名问题,缓存问题还是Heroku问题?感谢您的帮助!