मुझे एकाधिक डेटाबेस के साथ काम करने के लिए PropelORM सेट करने में कुछ समस्याएं हैं। मुझे प्रलेखन में कुछ भी उपयोगी नहीं मिला।PropelORM v1 एकाधिक डेटाबेस
कई डेटाबेस से जनरेट कर रहा है स्कीमा
मैं पहली बार डेटाबेस स्कीमा में कोई परिवर्तन करने के लिए और फिर
$ propel-gen . reverse
Schema.xml प्राप्त करने के लिए चलाने के पसंद करते हैं। क्या होगा अगर मेरे सिस्टम में एक डेटाबेस अधिक हो? क्या यह कई स्कीमा उत्पन्न कर सकता है? मुझे प्रलेखन बिल्डटाइम-conf.xml से बनाया जाना है, लेकिन यह मेरे लिए कुछ भी नहीं करता है।
जनरेट कर रहा है वर्गों
मान लीजिए कि मैं अलग स्कीमा blog.schema.xml और platform.schema.xml करने के लिए बनाया करते हैं। क्या यह संभव है:
प्रत्येक स्कीमा के लिए एक अलग वर्ग उपसर्ग है? build.properties में मैं
propel.classPrefix
सेट कर सकता हूं लेकिन यह प्रत्येक स्कीमा के लिए वैश्विक स्तर पर काम करेगा।प्रत्येक स्कीमा के लिए एक अलग परियोजना नाम है? build.properties में मैं
propel.project
सेट कर सकता हूं और यह कक्षा निर्देशिका में एक निश्चित निर्देशिका बनाएगा। अभी सभी वर्ग एक ही स्थान पर जाएंगे। यदि मैं दोनों स्कीमा में एक ही टेबल नाम का उपयोग करूंगा तो एक वर्ग दूसरे को ओवरराइट कर देगा।
समाधान मैं अपने दम पर आ सकता है एक निश्चित डेटाबेस लेकिन मैं और अधिक सुरुचिपूर्ण समाधान पसंद करेंगे के लिए एक 2 अलग निर्देशिका सेटअप है।
वे संसाधन उपयोगी हो सकता है: http://propelorm.org/cookbook/using-sql-schemas.html http://trac.propelorm.org/ticket/940 –
आप फ़्रॉस्टी धन्यवाद। दस्तावेज स्पष्ट है लेकिन जब मैं दिशानिर्देशों का पालन करना शुरू करता हूं तो यह सब एक अलग तरीके से काम करता है। मैनुअल propel.schema.autoPrefix पैरामीटर के बारे में कहते हैं। यह मेरे लिए ऑटो उपसर्ग कक्षा नहीं है। मेरे लिए यह एकमात्र चीज है जब propel.schema.autoNamespace को सत्य पर सेट किया गया है, तो यह इसे FALSE पर ओवरराइट करता है (शायद सीधे नहीं, लेकिन यह परिणाम है)। –
पैकेज http://propelorm.org/cookbook/multi-component-data-model.html दस्तावेज़ीकरण के अनुसार भी काम नहीं करते हैं। यह कहता है कि यदि आप डाटाबेस स्तर पर पैकेज सेट करते हैं तो यह कक्षाओं/my_project/package_name में फाइलें बनाएगा, जबकि मेरे लिए यह my_project dir नहीं बनायेगा, सभी संकुल सीधे कक्षा में जाते हैं। बस स्पष्ट होने के लिए मुझे git से propel1 का नवीनतम संस्करण मिला। –