Ars*_*Ali 3 mysql ruby-on-rails rails-migrations ruby-on-rails-4
我只是加载了一个数据库转储,不仅创建了表,并且在这些表中加载了数据,还进行了大量的迁移.
在运行剩余的迁移之后,运行rake db:migrate:status
告诉我每次迁移的状态UP
,但是迁移实际上并没有完成他们应该做的事情.
例如,我有一个创建一个名为的表的迁移notes
.它已被提升,表格notes
不存在.所以我不得不进行redo
这种迁移,但是在self.down
方法中注释了代码.
我的问题是:UP
即使它试图创建的表尚未在数据库中创建,迁移如何处于状态.或者我想,我之前加载的db哑,已经填充了schema_migrations
表格,Rails认为大多数迁移都在进行,但实际上并非如此.
现在,我是否需要手动完成rake db:migrate:redo VERSION=xxxxxxx
每次迁移,还是有更好的解决方案?
Rails为您的模式添加了一个表,该表将schema_migrations
每个迁移的时间戳存储在一个列中.它没有出现在schema.rb
,但是Rails会将时间戳db/migrate
和时间戳schema.rb
与schema_migrations
表的值进行比较,以确定哪些迁移已经运行.
归档时间: |
|
查看次数: |
691 次 |
最近记录: |