Chiunque ha un modulo di migrazione che usano per migrare i dati di mongodb con il plugin mangusta?Migra migrare
Attualmente sto usando il modulo 'migrate' e funziona benissimo tranne per il fatto che ho bisogno di creare/distruggere la mia connessione in ogni su/giù.
I.E.
// 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
});
});
};
Probabilmente un modo molto migliore per farlo. Mi chiedo se l'unica opzione è creare il mio modulo che avvia la connessione una volta e la chiude quando tutte le patch sono complete.
Ho visto migrare mongoose che tiene traccia della migrazione nella raccolta del database. Non proprio specifico per IMHO mangusta, preferirei comunque utilizzare il file .migrate, ma solo aprire la connessione una volta.