此功能旨在根据新旧模式之间的差异构建学说迁移类。
那么,系统所针对的旧模式存储在哪里?我在一个 symfony 项目中,我的配置中只有一个 schema.yml。
我的问题首当其冲是我的架构存在问题导致迁移失败(我有一个名为“组”的列)......在我的架构中更改名称后......确保迁移生成和迁移尝试总是会出错,因为之前的迁移尝试仅部分完成。
因此,我一直想将所有内容都设置回“原始”状态,就好像从未发生过迁移一样,我希望将当前模式/数据库视为版本 0,并制作新的迁移类。
但是,手动重置我的数据库并清除迁移类不起作用,并且生成的差异类坚持删除不再存在的表。
所以,我假设某处有一个缓存文件,其中包含与之比较的旧模式数据?
谢谢你的帮助。
啊……答案就在这里:
它不是与缓存的 schema.yml 进行比较,而是与您的模型类进行比较。
因此,“重置”迁移过程的解决方案是手动同步数据库和模型(可能通过将 schema.yml 重置为旧结构,重新生成模型,然后手动恢复数据库),然后全部返回新的架构元素,然后运行generate-migrations-diff。
这对我有用。
| 归档时间: |
|
| 查看次数: |
1978 次 |
| 最近记录: |