2010-11-08 7 views
5

कई सौ तालिकाओं वाला एक डीबी आमतौर पर इसमें कुछ enums/सेट परिभाषित किया जाएगा।
आप अपने कोड में स्ट्रिंग अक्षर का उपयोग करने से बचने के लिए enum मानों के साथ PHP कोड को सिंक्रनाइज़ करते हैं (जिसे हम सभी जानते हैं कि यह आसान लगता है, लेकिन लंबे समय तक बेवकूफ बग का कारण बनता है)।
प्रोजेक्ट के निर्माण के दौरान, एकमात्र अच्छा समाधान मैं सोच सकता हूं, एक प्रक्रिया जो डीबी में सभी enums के लिए स्थिरांक उत्पन्न करेगी, या उन मानों के साथ एक PHP एक्सटेंशन बना और संकलित करेगी।
वहाँ कोई अलग, बेहतर समाधान वहाँ?आप अपने PHP कोड के साथ डीबी में enums कैसे सिंक्रनाइज़ करते हैं?

उत्तर

3

प्लेटो कहेंगे: या तो पीएचपी और एसक्यूएल स्वतंत्र हैं, या एसक्यूएल PHP से उत्पन्न होता है, या PHP एसक्यूएल से उत्पन्न होता है, या दोनों एक ही स्रोत से उत्पन्न होते हैं।

यदि आमतौर पर बहुत सारे बदलाव होते हैं, लेकिन अन्यथा काफी स्थिर होता है तो सबसे पहले अस्वीकार्य होता है।

दूसरा ऐसा हालिया समाधानों के साथ होता है जो आपके एसक्यूएल को PHP पक्ष से प्रबंधित करते हैं (और PHP पक्ष से स्कीमा परिवर्तनों को अच्छी तरह से संभालते हैं)। इसका मतलब है कि आपके पागल एसक्यूएल निंजा कौशल बेकार और निराशाजनक हो सकता है।

तीसरा वह सुझाव है जो आप सुझाते हैं। यह तब तक ठीक है जब तक आप अपने स्रोत नियंत्रण प्रणाली और आपके पैकेज सिस्टम के पैर की अंगुली पर कदम उठाए बिना "निर्माण के दौरान उत्पन्न" भाग का प्रबंधन कर सकते हैं। एक स्वच्छ निर्माण प्रणाली होने में मदद करता है (जो PHP में कुछ असामान्य है)।

चौथे में SQL स्कीमा और PHP कोड दोनों उत्पन्न करने के लिए मौजूदा डेटाबेस मॉडलिंग टूल को अपनाना शामिल है। इस तरह, आप बस दो सप्ताह में एक बार टूल के साथ काम करेंगे, PHP और SQL दोनों उत्पन्न करेंगे, और परिणाम देंगे। उपकरण को अपनाना, हालांकि, काफी बुरा हो सकता है (फिर से, आप एक एक्सएमएल निर्यात की तलाश करने और वहां से काम करने की कोशिश कर सकते हैं)।

संबंधित मुद्दे