PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Multi-tenancy dengan SQLAlchemy

Setelah merenungkan jawaban jd, saya dapat mencapai hasil yang sama untuk kerangka postgresql 9.2, sqlalchemy 0.8, dan flask 0.9:

from sqlalchemy import event
from sqlalchemy.pool import Pool
@event.listens_for(Pool, 'checkout')
def on_pool_checkout(dbapi_conn, connection_rec, connection_proxy):
    tenant_id = session.get('tenant_id')
    cursor = dbapi_conn.cursor()
    if tenant_id is None:
        cursor.execute("SET search_path TO public, shared;")
    else:
        cursor.execute("SET search_path TO t" + str(tenant_id) + ", shared;")
    dbapi_conn.commit()
    cursor.close()


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. KASUS PostgreSQL ... BERAKHIR dengan beberapa kondisi

  2. Perbarui array PostgreSQL menggunakan SQLAlchemy

  3. LAG() / LEAD() dari peringkat berikutnya (Postgresql)

  4. Kinerja PostgreSQL - PILIH vs fungsi Tersimpan

  5. Kesalahan pada ALTER TYPE dalam hubungan postgres tidak ada