这是基础知识。我在 SANDBOX 环境中进行了部署。
我做了一些更改,并尝试重新部署。 Stack 是带有 Postgres DB/Rails 4.2 的 Cap3
在部署之前从未有过任何问题,当它开始运行迁移时,它不应该运行,因为没有挂起的迁移,它基本上将所有迁移回滚到 0 状态。
我在开发环境成功创建了这个错误。 我必须从之前的提交中恢复模式文件,因为恢复当然回滚了所有内容。
所以现在。
ActiveRecord::Schema.define(version: 20151214201502) 做 ...
最后的迁移文件是
20151214201502_create_host_group_membership_table
当我尝试部署或运行 rake db:migrate
时,我得到了完全还原。所有表都被删除。
Schema.rb 读取 ActiveRecord::Schema.define(version: 0) do
rake db:migrate:status
读取>
Status Migration ID Migration Name
--------------------------------------------------
down 20150916151324 Create ...<edited> table
down 20150916190627 Create ...<edited> table
down 20150916195012 Create ...<edited> table
down 20150918112956 Create ...<edited> table
down 20151019175551 Create ...<edited> table
down 20151020195644 Create ...<edited> table
down 20151020202321 Create ...<edited> table
down 20151026021111 Create ...<edited> table
down 20151124161525 Create ...<edited> table
down 20151124185807 Create ...<edited> table
down 20151214201502 Create ...<edited> table
任何后续的 rake db:migrate 都不会产生任何结果。
最佳答案
如果覆盖 ENV["VERSION"],如果 VERSION 小于 db schema 中的最后一个已知 VERSION,rake db:migrate
将降级而不是升级,因此请检查并避免类似的情况环境变量。
关于ruby-on-rails - Rails schema & migrate 不断恢复到 VERSION=0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35276363/