質問

そのテーブルのトリガーとインデックスを定義/作成するテーブルのsqlalchemyクラスには、その方法はありますか?

たとえば、私がのような基本テーブルを持っていた場合...

class Customer(DeclarativeBase):
    __tablename__ = 'customers'
    customer_id = Column(Integer, primary_key=True,autoincrement=True)
    customer_code = Column(Unicode(15),unique=True)
    customer_name = Column(Unicode(100))
    search_vector = Column(tsvector) ## *Not sure how do this yet either in sqlalchemy*.

「Search_Vector」を更新するトリガーを作成したいと思います

CREATE TRIGGER customers_search_vector_update BEFORE INSERT OR UPDATE
ON customers
FOR EACH ROW EXECUTE PROCEDURE
tsvector_update_trigger(search_vector,'pg_catalog.english',customer_code,customer_name);

それから私はそのフィールドもインデックスとして追加したかった...

create index customers_search_vector_indx ON customers USING gin(search_vector);

現在、アプリからデータベースの再生を行った後、TSVector列、トリガー定義、次にPSQLのインデックスステートメントの列を追加する必要があります。世界の終わりではなく、ステップを忘れがちです。私はすべて自動化についてですので、アプリのセットアップ中にこれをすべて実現できるなら、ボーナス!

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top