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

उत्पादन में Play Framework 2 डेटाबेस विकास को कैसे संभालें

दुर्भाग्य से Ebean केवल CREATE DDL बना सकते हैं (और नहीं UPDATE DDL ) (जैसा कि उनके समूह पर उत्तर दिया गया है), इसलिए आपको ASAP मैन्युअल विकास पर स्विच करने की आवश्यकता है।

कुछ नियम:

  1. किसी भी बदलाव को लागू करने से पहले हमेशा अपने लाइव डीबी का बैकअप लें :)
  2. ebean प्लगइन पूरे DDL को फिर से बनाता है यदि इसमें केवल 1.sql है इसके द्वारा बनाया गया विकास
  3. आपको 1.sql . से पहली दो टिप्पणियों को हटाना होगा और अगले नंबर 2.sql . के साथ खुद के विकास लिखना शुरू करें , 3.sql आदि। मैन्युअल विकास पर स्विच करने से पहले जितना संभव हो उतने मॉडल/फ़ील्ड रखने का प्रयास करें। सबसे बड़ा हिस्सा प्लगइन द्वारा स्वचालित रूप से किया जाएगा।
  4. मैन्युअल विकास में ALTERS होना चाहिए DROP/CREATE के बजाय मौजूदा तालिकाओं/स्तंभों में, उनमें दोनों होने चाहिए:Ups और Downs प्रत्येक परिवर्तन के लिए।
  5. प्रत्येक विकास में यथासंभव अधिक से अधिक परिवर्तन करने का प्रयास करें, प्रबंधन करना आसान है और फिर प्रत्येक छोटे परिवर्तन के लिए अलग विकास लिखना।

वास्तव में कभी-कभी डीबी गुई के साथ डीबी संरचना को संशोधित करना आसान होता है, वैसे भी यह मुख्य रूप से एकल डेवलपर के लिए काम करता है ... जब आपको अन्य डेवलपर्स के साथ अपना कोड साझा करने की आवश्यकता होती है तो विकास लिखना बेहतर विकल्प होगा।

अगर कुछ समय बाद आप नए मॉडल का अगला 'बड़ा' हिस्सा जोड़ देंगे तो आप अस्थायी ऑटो डीडीएल को फिर से सक्षम कर सकते हैं और नए भागों की प्रतिलिपि बनाने के लिए स्थानीय गिट का उपयोग कर सकते हैं। फिर स्वयं की क्रांति पर वापस लौटें और Ebean प्लगइन द्वारा उत्पन्न नए भागों को पेस्ट करें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pg_dump संस्करण बेमेल त्रुटियों को कैसे ठीक करें?

  2. इंटरमीडिएट टेबल का उपयोग करके पोस्टग्रेज टेबल का विभाजन कैसे करें

  3. रेल:ActiveRecord::Base . के लिए कोई कनेक्शन पूल नहीं

  4. JDBC का उपयोग करके फ़ाइल से PostgreSQL में डेटा कैसे कॉपी करें?

  5. Django माइग्रेशन के साथ हटाए गए तालिका को फिर से कैसे बनाएं?