PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

sqlalchemy के साथ प्रति-अनुरोध के आधार पर डेटाबेस इंजन को गतिशील रूप से कैसे बांधें

वैश्विक वस्तुओं (मैपर, मेटाडेटा) को उपयोगकर्ता-विशिष्ट कनेक्शन से बांधना अच्छा तरीका नहीं है। साथ ही स्कोप्ड सत्र का उपयोग करना। मैं प्रत्येक अनुरोध के लिए नया सत्र बनाने और उपयोगकर्ता-विशिष्ट कनेक्शन का उपयोग करने के लिए इसे कॉन्फ़िगर करने का सुझाव देता हूं। निम्न नमूना मानता है कि आप प्रत्येक डेटाबेस के लिए अलग मेटाडेटा ऑब्जेक्ट का उपयोग करते हैं:

binds = {}

finance_engine = create_engine(url1)
binds.update(dict.fromkeys(finance_metadata.sorted_tables, finance_engine))
# The following line is required when mappings to joint tables are used (e.g.
# in joint table inheritance) due to bug (or misfeature) in SQLAlchemy 0.5.4.
# This issue might be fixed in newer versions.
binds.update(dict.fromkeys([Employee, Customer, Invoice], finance_engine))

staff_engine = create_engine(url2)
binds.update(dict.fromkeys(staff_metadata.sorted_tables, staff_engine))
# See comment above.
binds.update(dict.fromkeys([Project, Hour], staff_engine))

session = sessionmaker(binds=binds)()


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिका से मान का उपयोग करके INTERVAL को पोस्टग्रेज करता है

  2. रेक डीबी:थ्रो डेटाबेस बनाएं पोस्टग्रेस्क्ल के साथ त्रुटि मौजूद नहीं है

  3. PGError:त्रुटि:संबंध के लिए अनुमति अस्वीकृत (हेरोकू का उपयोग करते समय)

  4. PostgreSQL के लिए कैशिंग का अवलोकन

  5. बाहर से एक डॉकटर कंटेनर में Postgresql से कनेक्ट करना