मैंने स्क्लेक्लेमी के लिए एक न्यूनतम डेटाबेस बोली लिखा है जो वास्तव में कोर में नहीं है। मैं इसे अपने पायथन पैकेज के रूप में कैसे काम करूं?मैं स्क्लाक्लेमी के लिए बाहरी बोली कैसे लिखूं?
उत्तर
जब SQLAlchemy डेटाबेस यूआरएल example://...
हल करता है तो यह पहले इसे import sqlalchemy.dialects.example
में खोजने का प्रयास करेगा। यदि यह काम नहीं करता है तो यह pkg_resources.iter_entry_points('sqlachemy.databases')
पर वापस आता है।
एक पैकेज setuptools
का उपयोग करने में नई बोली रखो, अपने बोली, python setup.py develop
या python setup.py install
चलाने के नाम पर एक प्रवेश बिंदु शामिल हैं, और SQLAlchemy बोली लगाने के लिए सक्षम होना चाहिए।
setup.py
में:
entry_points = {
'sqlalchemy.databases': ['example = example_sa:base.dialect',]
},
example_sa:base.dialect
import example_sa; return example_sa.base.dialect
का मतलब है।
इस पैकेज को स्थापित करने के बाद, pkg_resources.iter_entry_points(group)
group
से pkg_resources.EntryPoint
उदाहरण उत्पन्न करता है। .load()
पर EntryPoint
पर entrypoint.name='example'
पर कॉल करें और आपको example_sa.base.dialect
मिलें।
मुझे सुखद आश्चर्य हुआ कि SQLAlchemy 0.6 के लिए नई बोलियां लिखना कितना आसान है। यदि आपके डेटाबेस में मानक एसक्यूएल की तुलना में केवल कुछ क्विर्क हैं, तो संभावना है कि आप मानक (MySQL- like) SQL बोली से प्राप्त करने में सक्षम होंगे, अपने डेटाबेस के कीवर्ड को परिभाषित करेंगे, और उन quirks के कार्यान्वयन की प्रतिलिपि बनाएँ (जैसे SELECT ... LIMIT 10
के बजाय) एक मौजूदा बोली से।
कम से कम SQLAlchemy 5.x में आप डाटाबेस निर्देशिका में अपने ड्राइवर/बोली को छोड़ सकते हैं, जहां भी आपके सिस्टम पर है, (यदि आप स्रोत से स्थापित हैं, तो यह/usr/local/lib/python2 हो सकता है। 7/dist-packages/SQLAlchemy-0.5.8-py2.7.egg/sqlalchemy/डेटाबेस)
SQLAlchemy 0.8 के रूप में, आप अलग-अलग इंस्टॉल करने की आवश्यकता के बिना बोली प्रक्रियाओं को पंजीकृत कर सकते हैं।
from sqlalchemy.dialects import registry
registry.register("mysql.foodialect", "myapp.dialect", "MyMySQLDialect")
ऊपर create_engine("mysql+foodialect://")
का जवाब और myapp.dialect
मॉड्यूल से MyMySQLDialect
वर्ग लोड होगा।
देखें: http://sqlalchemy.readthedocs.org/en/latest/core/connections.html#registering-new-dialects
यह मेरे लिए काम करता कहा जाता है। –
- 1. फ्लास्क-स्क्लाक्लेमी
- 2. मैं फ़ायरफ़ॉक्स एडन कैसे लिखूं?
- 3. फ्लास्क-स्क्लाक्लेमी
- 4. मैं PLINQ के लिए थ्रेड-जागरूक एक्सटेंशन फ़ंक्शन कैसे लिखूं?
- 5. सी कर्नेल लोड करने के लिए मैं बूटलोडर कैसे लिखूं?
- 6. मैं PyYAML के लिए एक प्रस्तुतकर्ता कैसे लिखूं?
- 7. रेल: मैं रूबी मॉड्यूल के लिए परीक्षण कैसे लिखूं?
- 8. मैं एफ # एप्लिकेशन के लिए एक्जिट हैंडलर कैसे लिखूं?
- 9. मैं ग्राफिक्स लाइब्रेरी के लिए परीक्षण कैसे लिखूं?
- 10. मैं grep -R के लिए उपनाम कैसे लिखूं?
- 11. पायथन/स्क्लाक्लेमी/फ्लास्क
- 12. गतिशील बोली के लिए एंड्रॉयड प्रतिकूल
- 13. मैं फ्लास्क स्क्लाक्लेमी रीयूज डीबी कनेक्शन कैसे बना सकता हूं?
- 14. मैं जावा में फेसबुक ऐप्स कैसे लिखूं?
- 15. जावा एनम के लिए लूप के लिए जेनेरिक कैसे लिखूं?
- 16. मैं एक स्वच्छ रूबी मिश्रण कैसे लिखूं?
- 17. मैं जावा ईई/ईजेबी सिंगलटन कैसे लिखूं?
- 18. मैं इसे अलग तरीकों से कैसे लिखूं?
- 19. मैं अजगर में यूनिक्स फ़िल्टर कैसे लिखूं?
- 20. मैं एक साधारण एसएसएच क्लाइंट कैसे लिखूं?
- 21. मैं नैन्सीएफएक्स में स्ट्रीम आउटपुट कैसे लिखूं?
- 22. मैं gzipped फ़ाइलों को कैसे पढ़/लिखूं?
- 23. मैं कार्य कैसे लिखूं? (समांतर कोड)
- 24. मैं रिकर्सिव अनाम फ़ंक्शन कैसे लिखूं?
- 25. मैं एक std :: codecvt facet कैसे लिखूं?
- 26. मैं पायथन में "टैब" कैसे लिखूं?
- 27. मैं SpecFlow फ़ीचर में टिप्पणियां कैसे लिखूं?
- 28. मैं प्लगइन के साथ पर्ल ऑब्जेक्ट कैसे लिखूं?
- 29. मैं पाइथन बाहरी पुस्तकालयों के लिए omnicompletion कैसे प्राप्त करूं?
- 30. मैं कलाकार के साथ hql क्वेरी कैसे लिखूं?
SQLAlchemy 0.5 में प्रवेश बिंदु sqlalchemy.databases –