使用SqlAlchemy和SqlAlchemy-migrate管理种子数据

时间:2010-11-28 20:24:58

标签: python sqlalchemy pylons sqlalchemy-migrate

我在Pylons应用程序中使用SqlAlchemy访问数据,使用SqlAlchemy-migrate来维护数据库架构。

它适用于管理架构本身。但是,我还希望以类似迁移的方式管理种子数据。例如。当创建ProductCategory表时,使用类别数据对其进行种子化是有意义的。

看起来SqlAlchemy-migrate不直接支持此功能。使用Pylons + SqlAlchemy + SqlAlchemy-migrate进行此操作的好方法是什么?

1 个答案:

答案 0 :(得分:2)

您的种子数据的格式是什么?迁移调用只是python方法,所以你可以自由地打开一些csv,创建SA对象实例,循环等。我通常将我的种子数据作为一系列sql insert语句,只是循环执行一个migate.execute(查询)每一个。

所以我首先创建表,循环并运行种子数据,然后在降级方法上清空/删除表。