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

मैं after_create पर कस्टम डीडीएल उत्सर्जित करने के लिए एलेम्बिक कैसे प्राप्त करूं?

तालिका स्तर पहले_क्रिएट/आफ्टर_क्रिएट ईवेंट उत्सर्जित होते हैं (सिर्फ मेटाडेटा स्तर वाले नहीं)। आपको यह सुनिश्चित करने की आवश्यकता है कि आपकी env.py स्क्रिप्ट में जो कुछ भी होता है, उसमें अंततः वे ईवेंट श्रोता शामिल होते हैं जिन्हें सेट किया जा रहा है।

आपके पास जो कोड है वह थोड़ा संदिग्ध लग रहा है:

event.listen(Session.__table__, 'after_create', update_function)
event.listen(Session.__table__, 'after_create', update_trigger)

Session.__table__ यहाँ केवल एक Table होगी उदाहरण और शायद वह नहीं है जो आप एलेम्बिक लिपि में देखेंगे। एलेम्बिक create_table कमांड एक Table बनाता है स्थानीय रूप से और बस उस पर एक निर्माण चलाता है, इसलिए आपको विश्व स्तर पर सभी तालिका वस्तुओं को सुनना होगा:

from sqlalchemy import Table
event.listen(Table, 'after_create', update_function)
event.listen(Table, 'after_create', update_trigger)

यदि ये ईवेंट केवल इस एक विशिष्ट तालिका के लिए हैं, तो आप किसी भी ईवेंट का उपयोग नहीं करेंगे, आप सीधे अपनी माइग्रेशन स्क्रिप्ट में उन ट्रिगर्स के लिए DDL() डाल देंगे, ठीक उसके बाद create_table()



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सरणी टेक्स्ट को क्वेरी करने के लिए SQL को पोस्टग्रेज करता है [] विशिष्ट तत्व में

  2. array_append फ़ंक्शन काम नहीं कर रहा है

  3. RowMapper को लागू करने वाले वर्ग में स्प्रिंग प्रबंधित बीन इंजेक्शन

  4. Django:मुझे एक [संबंध auth_group मौजूद नहीं है] सिंकडीबी के बाद त्रुटि मिलती है

  5. एक जेसन कॉलम के लिए डिफ़ॉल्ट मान सेट करना