rake db:migrate 是只添加新的迁移,还是删除所有迁移/更改并构建新的所有内容?
我认为 rake 正在抛出错误,因为它试图访问在迁移 042 中删除的迁移 040 中的表属性。不知何故,我的数据库和 rake 不同步,我想修复它们。
对于您那里的专家 - rake 与迁移不同步是很常见的吗?我怎样才能避免这种情况(不,我不会手动编辑我的架构或 rake 文件)。
最佳答案
每次使用脚本(如脚本/生成模型...)创建迁移时,都会将新迁移添加到正确的目录中,准备与真实数据库同步。
实际上 rake db:migrate 只是检查哪些丢失的迁移仍然需要应用于数据库而不关心以前的迁移。
当然,如果您使用其他方式修改数据库,则通常会获得不同步的内容,因为正如您所说,您会发现自己将迁移应用于下面已更改的内容。
关于ruby-on-rails - rake db :migrate do? 究竟是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1007187/