किसी को माइग्रेट मॉड्यूल मिला है जिसे वे मोंगोड प्लगइन के साथ मोंगोडब डेटा माइग्रेट करने के लिए उपयोग करते हैं?मोंगोस माइग्रेट
मैं वर्तमान में 'माइग्रेट' मॉड्यूल का उपयोग कर रहा हूं और यह इस तथ्य को छोड़कर महान काम करता है कि मुझे प्रत्येक अप/डाउन में अपना कनेक्शन बनाने/नष्ट करने की आवश्यकता है।
आईई।
// Setup mongoose
var mongoose = require('mongoose')
, Role = require('../models/role')
, User = require('../models/user');
exports.up = function(next) {
// get a brand new connection for this patch.
mongoose.connect('mongodb://localhost/sagedb');
var adminUser = {
username: 'admin',
password: 'admin'
};
User.createUser(adminUser, function(err, user) {
if (err) {
mongoose.disconnect(); // Make sure to close connection
return next(err);
}
mongoose.disconnect(next); // Make sure to close connection
});
};
exports.down = function(next) {
mongoose.connect('mongodb://localhost/sagedb'); // new connection for down
User.getUserByUsername('admin', function(err, user) {
if (err) {
mongoose.disconnect(function() { // make sure to close connection
return next(err);
});
}
if (!user) {
mongoose.disconnect(); // make sure to close connection
return next();
}
User.deleteUser(user, function(err, user) {
console.log('deleted user');
mongoose.disconnect(next); // make sure to close connection
});
});
};
शायद ऐसा करने का एक बेहतर तरीका है। आश्चर्य है कि एकमात्र विकल्प मेरा खुद का मॉड्यूल बनाना है जो एक बार कनेक्शन शुरू करता है और सभी पैच पूर्ण होने पर इसे बंद कर देता है।
मैंने मोंगोस-माइग्रेट देखा है जो डेटाबेस संग्रह में माइग्रेशन ट्रैक करता है। वास्तव में mongoose IMHO के लिए विशिष्ट नहीं है, मैं अभी भी .migrate फ़ाइल का उपयोग करता हूं लेकिन केवल एक बार कनेक्शन खोलना होगा।