【发布时间】:2016-04-02 05:48:27
【问题描述】:
我见过 sqlalchemy-migrate 和 alembic,但我不想使用这些框架。如何编写迁移脚本?据我了解,大多数迁移都围绕更改/删除现有表?此外,我主要在 orm 级别而不是架构/核心/引擎级别使用 sqlalchemy?
我想自己动手的原因主要是学习目的和了解 django orm 如何自动生成迁移脚本?
【问题讨论】:
-
你想迁移到什么地方?现有的表只是由 ORM 包装,只是表。您所说的“迁移”是从一个对象模型到修改后的 OM。如果您放弃 ORM 框架,则无需迁移任何内容,只需将数据愉快地放在表中即可。
-
当我说迁移时,我的意思是如何处理对现有表的架构更改(添加/删除列)?在 django 中,有
python manage.py makemigrations migrate命令。我需要类似的东西。 -
高级思想如下:从DB中读取对象模型,从代码中读取对象模型,比较并生成有差异的迁移脚本。您可以阅读上述框架的源代码以了解其实现方式。
标签: python django python-3.x sqlalchemy