这是基础知识。我在SANDBOX环境中进行了部署。
我做了一些更改,并尝试重新部署。 Stack是Cap3,带有Postgres DB / Rails 4.2
部署之前从未遇到过任何问题,在运行迁移时,由于没有待处理的迁移而不应该进行迁移,它基本上将所有迁移回滚到0状态。
我在开发环境中成功创建了此错误。 我不得不从之前的提交中恢复模式文件,因为当然还原将所有内容都重新推回。
所以现在。
ActiveRecord::Schema.define(version: 20151214201502) do ...
最后一个迁移文件是
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都没有结果。
答案 0 :(得分:1)
如果覆盖ENV [&#34; VERSION&#34;],如果VERSION小于db模式中的最后一个已知VERSION,则rake db:migrate
将降级而不是升级,因此请检查并避免类似的环境变量
答案 1 :(得分:0)
我遇到了完全相同的问题,但是Eric的回答在我的情况下不起作用。
诀窍是删除数据库,删除架构以及创建和迁移数据库:
$ rails db:drop
$ rm db/schema.rb
$ rails db:create
$ rails db:migrate