सूचकांक बनाने के लिए सीधे-सीधे हैं। index=True
. वाले सिंगल-कॉलम के लिए नीचे जैसा पैरामीटर:
customer_code = Column(Unicode(15),unique=True,index=True)
लेकिन अगर आप नाम और विकल्पों पर अधिक नियंत्रण चाहते हैं, तो स्पष्ट इंडेक्स() निर्माण का उपयोग करें:
Index('customers_search_vector_indx', Customer.__table__.c.search_vector, postgresql_using='gin')
ट्रिगर भी बनाया जा सकता है, लेकिन उन्हें अभी भी SQL
होना चाहिए -आधारित और DDL
से जुड़ा हुआ आयोजन। अधिक जानकारी के लिए डीडीएल को कस्टमाइज़ करना देखें, लेकिन कोड इस तरह दिख सकता है:
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'))
सिडेनोट:मुझे नहीं पता कि tsvector
को कैसे कॉन्फ़िगर किया जाए डेटाटाइप:एक अलग प्रश्न के योग्य है।