rake db:migrate 到底做了什么?

2024-06-28

rake db:migrate 是否仅添加新的迁移,还是会删除所有迁移/更改并构建所有新内容?

我认为 rake 抛出错误,因为它试图访问迁移 040 中的表属性,该属性已在迁移 042 中删除。不知何故,我的数据库和 rake 不同步,我想修复它们。

对于各位专家来说 - rake 与迁移不同步是否很常见?我怎样才能避免这种情况(不,我不会手动编辑我的架构或 rake 文件)。


当您使用 Rails 迁移时,会出现一个名为schema_migrations自动创建,通过存储每个迁移的版本号(这是文件名中迁移名称前面的数字,即 db/migrate/_20090617111204__migration.rb)来跟踪已应用的迁移。当你跑步时rake db:migrate要向上迁移,只有之前未运行过的迁移(即它们的版本不包含在表中)才会运行(因此,更改已执行的迁移在运行时不会产生任何影响)db:migrate)。向下迁移时,找到的所有版本schema_migrations大于您要回滚到的版本的操作将被撤消。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

rake db:migrate 到底做了什么? 的相关文章

随机推荐