我需要编写自己的Trigger才能更新Postgres数据库中的某些搜索向量,而Alembic / Sqlalchemy无法自动生成这些向量。
为此,我将自定义SQL添加到了迁移文件中。使用我的开发机,一切正常。但是我注意到在运行测试时会创建触发器。
为了进行测试,我使用了最纯净的毒药。我的conftest.py像这样创建数据库:
@pytest.fixture
def db(app):
_db.app = app
with app.app_context():
_db.create_all()
Role.insert_roles() # insert roles
yield _db # teardown
_db.session.close()
_db.drop_all()
但是此脚本仅创建原始表。我应该更改什么,以便每次创建新数据库时都执行我的自定义SQL?
谢谢
答案 0 :(得分:0)
我找到了解决方案。我添加了触发DDL,如在此问题中建议的那样:SQLAlchemy declarative: defining triggers and indexes (Postgres 9)