Chỉ định được chuyển tiếp để tạo. Đối với cột đơn có index=True
tham số như dưới đây:
customer_code = Column(Unicode(15),unique=True,index=True)
Nhưng nếu bạn muốn kiểm soát nhiều hơn đối với tên và các tùy chọn, hãy sử dụng cấu trúc Index () rõ ràng:
Index('customers_search_vector_indx', Customer.__table__.c.search_vector, postgresql_using='gin')
Trình kích hoạt cũng có thể được tạo, nhưng chúng vẫn cần phải là SQL
dựa trên và kết nối với DDL
sự kiện. Xem Tùy chỉnh DDL để biết thêm thông tin, nhưng mã có thể trông giống như sau:
from sqlalchemy import event, DDL
trig_ddl = DDL("""
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);
""")
tbl = Customer.__table__
event.listen(tbl, 'after_create', trig_ddl.execute_if(dialect='postgresql'))
Chú thích bên lề:Tôi không biết cách định cấu hình tsvector
datatype:xứng đáng là một câu hỏi riêng.