我试图在 postgres 中为一个模式执行数据库版本控制,我们称之为 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 列类型的表上出现错误。