4

我在Gentoo下使用“vanilla”Pyramid 1.4,我想对表格进行更改并提交它们而不必删除表格(及其所有数据),然后重新创建它。我听说过这个解决方案是模式迁移。金字塔架构迁移

作为一个长期的Django用户,我一直在使用django-south,但现在我正在使用Pyramid,我无法找到任何处理迁移的方法。我已阅读sqlalchemy-migrate,看起来非常好,但我不确定如何让它与金字塔合作。

有没有办法在Pyramid 1.4中处理模式迁移? 如果使用sqlalchemy-migrate是明智的选择,我如何才能使它与金字塔合作?

干杯。

回答

12

虽然这并不能直接回答你的问题:你认为Alembic是由Mike Bayer自己创建的一个新的SQLAlchemy迁移工具(SQLAlchemy的作者)吗?在一月份,sqlalchemy-migrate的开发似乎停止了,而Alembic相当活跃。

6

正如Martin所说,我建议与Alembic一起为您的迁移工作。它来自SqlAlchemy的创建者,并且应该与任何SqlAlchemy更改保持同步。

至于将它连接到你的框架,这取决于你。我通过更新Alembic中的env.py来加载我的Pyramid .ini文件,在Bookie中设置它。你可以看到这里的代码的更改:

https://github.com/mitechie/Bookie/blob/develop/dbversions/env.py#L8

这也加载模式,让你可以使用自动生成的变化。

然后我通过我的Makefile的助手让我产生,更新等

https://github.com/mitechie/Bookie/blob/develop/Makefile#L67

控制迁移这些很可能变成金字塔P *命令,但我没有这样做。 http://pyramid.readthedocs.org/en/latest/narr/commandline.html#writing-a-script

+0

令人惊叹的工作。刚刚好。 –