@@ -9,7 +9,6 @@ var inquirer = require('inquirer');
99var logger = require ( './logger' ) ;
1010var logUpdate = require ( 'log-update' ) ;
1111var mailer = require ( './mailer' ) ;
12- var migrateMongoose = require ( 'migrate-mongoose' ) ;
1312var optimist = require ( 'optimist' ) ;
1413var path = require ( 'path' ) ;
1514var request = require ( 'request' ) ;
@@ -71,8 +70,7 @@ var exports = module.exports = {
7170 getInstalledVersions,
7271 getLatestVersions,
7372 getUpdateData,
74- getMigrationConfig,
75- syncMigrations,
73+ runMigrations,
7674 installFramework,
7775 updateFramework,
7876 cloneRepo,
@@ -313,38 +311,29 @@ function getFrameworkRoot() {
313311 return path . join ( configuration . serverRoot , 'temp' , configuration . getConfig ( 'masterTenantID' ) , 'adapt_framework' ) ;
314312}
315313
316- function getMigrationConfig ( callback ) {
317- var confPath = path . join ( configuration . serverRoot , 'conf' , 'migrate.json' ) ;
318- fs . readJson ( confPath , callback ) ;
314+ async function runMigrations ( callback ) {
315+ const { config, up } = require ( 'migrate-mongo' ) ;
316+ let data ;
317+ try {
318+ config . set ( require ( path . resolve ( __dirname , '..' , 'conf' , 'migrations.js' ) ) ) ;
319+ const { db, client } = await getAppDbConnection ( ) ;
320+ data = await up ( db , client ) ;
321+ } catch ( e ) {
322+ if ( callback ) return callback ( e ) ;
323+ throw e ;
324+ }
325+ if ( callback ) callback ( null , data ) ;
326+ return data ;
319327}
320328
321- /**
322- * Adds all migrations to the DB in a down state
323- * @param callback
324- */
325- function syncMigrations ( callback ) {
326- getMigrationConfig ( function ( err , config ) {
327- if ( err ) {
328- return callback ( err )
329+ const getAppDbConnection = ( ) => {
330+ return new Promise ( resolve => {
331+ const app = require ( path . resolve ( __dirname , 'application' ) ) ( ) ;
332+ if ( ! ! app . _httpServer ) {
333+ return resolve ( app . db . conn ) ;
329334 }
330-
331- fs . ensureDir ( config . migrationsDir , function ( err ) {
332- if ( err ) {
333- return callback ( err )
334- }
335-
336- var migrator = new migrateMongoose ( {
337- migrationsPath : config . migrationsDir ,
338- dbConnectionUri : config . dbConnectionUri ,
339- autosync : true
340- } ) ;
341-
342- migrator . sync ( )
343- . then (
344- function ( value ) { return callback ( null , value ) } ,
345- function ( reason ) { return callback ( reason ) ; }
346- )
347- } ) ;
335+ app . on ( 'serverStarted' , ( ) => resolve ( app . db . conn ) ) ;
336+ app . run ( { skipVersionCheck : true , skipDependencyCheck : true } ) ;
348337 } ) ;
349338}
350339
0 commit comments