20
在表中SQLAlchemy類中是否有方法來爲該表定義/創建觸發器和索引?SQLAlchemy聲明式:定義觸發器和索引(Postgres 9)
舉例來說,如果我有一個基本的表像...
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);
現在,我做任何類型的數據庫從我的應用程序再生我必須做t他爲tsvector列添加列,觸發器定義,然後從psql添加索引語句。不是世界的盡頭,但很容易忘記一步。我都是關於自動化的,所以如果我能在應用程序設置期間得到這一切,那麼獎金!
在哪裏可以找到如何創建tsvector列? – d0ugal