2013-12-10 2 views
9

sails.js में, हम स्कीमा के डेटाबेस में डेटाबेस में कैसे रोक सकते हैं। कभी-कभी, यह माइग्रेशन के कारण त्रुटि देता है। क्या कोई तरीका है कि हम माइग्रेशन केवल तभी चला सकते हैं जब एप्लिकेशन तैनात किया जाता है?sails.js में स्कीमा के ऑटो माइग्रेशन को रोकें

उत्तर

8

तुम भी कुछ इस तरह की कोशिश कर सकते हैं:

module.exports = { 

    // migrate: 'alter', // adds and/or removes columns on changes to the schema 

    // migrate: 'drop', // drops all your tables and then re-creates them. All data is deleted. 

    // migrate: 'safe', doesn't do anything on sails lift- for use in production. 

    attributes: { /* ... */ } 

}; 
+0

भी देखें https://github.com/ balderdashy/sails/issues/1471 # issuecomment-36668189 – mikermcneil

+0

@mikermcneil, मैंने इसका उपयोग करने की कोशिश की लेकिन कुछ दिनों के बाद मेरा डेटा किसी भी तरह गायब हो गया, मुझे नहीं पता कि मैं हमेशा इस आदेश का उपयोग कैसे करता हूं -w start -al/var/लॉग/mylog.log --prod – Sahan

+0

कोई भी टी houghts @mikermcneil, – Sahan

4

हम मॉडल में migrate संपत्ति निर्दिष्ट करके इसे प्राप्त कर सकते हैं। इसका डिफ़ॉल्ट मान alter है जो प्रत्येक परिवर्तन पर स्कीमा को स्वत: माइग्रेट करने का प्रयास करता है।

module.exports = { 
    schema: true, 
    migrate: 'safe', 
    adapter: 'mysql', 

    attributes: {} 
} 
2

सभी मॉडलों के लिए आप confing में बदल सकते हैं/models.js

migrate: 'safe', 
संबंधित मुद्दे