ruby-on-rails - Rails schema & migrate 不断恢复到 VERSION=0

标签 ruby-on-rails ruby-on-rails-4 activerecord

这是基础知识。我在 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/

相关文章:

ruby-on-rails - 在模型保存时获取 ActiveRecord::AssociationTypeMismatch

ruby-on-rails - 检测上一次更新期间属性值是否更改与Active Model Dirty不兼容

ruby-on-rails-4 - 如何在 Swagger-UI 中对路由进行分组

ruby-on-rails - Rails 2.3.x - 这个 ActiveRecord 作用域是如何工作的?

mysql - 在删除整行之前将特定字段值移动到另一个表

ruby-on-rails - ElasticSearch将映射添加到数字,给我错误

ruby-on-rails - rake spec 在 specs 之后运行测试

ruby-on-rails - Rails 4 : ActionView::MissingTemplate even though view is defined?

ruby-on-rails - Bundler 找不到 Rails 4.0.0 的 gem “railties” 的兼容版本

ruby-on-rails - 用于在 rails 中存储 list 的模型设置