我有一个使用 sqlalchemy(在 Pylons 内)的 Web 应用程序。我需要有效地更改架构,以便能够至少每天更改生产版本,也许更多,而不会丢失数据。
我在周末玩了一点 sqlalchemy-migrate,我想说它给我留下了不好的印象。首先,我认为它无助于两个数据库引擎之间的迁移;这可能只用 sqlalchemy 就可以完成。其次,文档似乎不是最新的。我不得不更改一些命令行选项,例如在每个命令中提供存储库路径,这可能是迁移的错误。
但最糟糕的是“manage.py test ”命令。不仅它实际上修改了数据库(这一点在文档中明确指出,所以我不能责怪迁移),而且我的第一个迁移脚本只是进行了简单愚蠢的模式迁移,使升级降级的数据库具有与原始不同的模式。但是“manage.py 测试”只是回答了类似
success !
也就是说,它甚至没有检查模式是否保持一致状态。那么是否值得使用迁移?与S.Lott 提出的与良好实践相关的“自己动手”方法相比,有什么优势吗?是否有 sqlalchemy-migrate 的替代方法实际上简化了迁移过程,或者我只是想用一个不好的先验来使用 migrate (然后请告诉我为什么不像上面链接中建议的那样创建 CSV 列明显优于)?
非常感谢!