sql >> データベース >  >> RDS >> PostgreSQL

SQLAlchemy宣言型:トリガーとインデックスの定義(Postgres 9)

    指標 作成は簡単です。 index=Trueの単一列の場合 以下のようなパラメータ:

    customer_code = Column(Unicode(15),unique=True,index=True)
    

    ただし、名前とオプションをより細かく制御したい場合は、明示的なIndex()構文を使用してください。

    Index('customers_search_vector_indx', Customer.__table__.c.search_vector, postgresql_using='gin')
    

    トリガー 作成することもできますが、それでもSQLである必要があります -ベースでDDLに接続されています イベント。詳細については、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の構成方法がわかりません データ型:別の質問に値します。




    1. LinuxのSalesforceSOQLを使用する

    2. MySQL ROUND()関数–数値を指定された小数点以下の桁数に丸めます

    3. usingステートメント内のSqlConnection.Close()

    4. 整数の配列がありますが、mysqlクエリ(php)でそれぞれをどのように使用しますか?