我试图在postgres中为一个模式执行db版本控制,让我们称之为mySchema。
理想情况下,我可以使用api.create_model
包中的migrate.versioning
命令。问题是我想为mySchema做这件事(不是对于postgres默认的公共架构)。我怎么能做到这一点?
这是我要改变的界限:
from migrate.versioning import api
from config import SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO
#how do I change the create model command so that it
#only creates models for tables in 'mySchema'?
old_model = api.create_model(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO)
https://sqlalchemy-migrate.readthedocs.org/en/v0.7.2/api.html#migrate.versioning.api.create_model
然后我会使用这些当前/旧模型来生成新模型之间的差异,并保存版本之间的差异。
注意:我不认为我可以为整个数据库创建模型,因为我在某些包含JSON或tsvector列类型的表上收到错误。