1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-04 10:19:30 +02:00
OpenSTF/lib/cli/migrate/index.js
2019-06-12 10:29:07 +02:00

57 lines
1.6 KiB
JavaScript

/**
* Copyright © 2019 contains code contributed by Orange SA, authors: Denis Barbaron - Licensed under the Apache license 2.0
**/
module.exports.command = 'migrate'
module.exports.describe = 'Migrates the database to the latest version.'
module.exports.builder = function(yargs) {
return yargs
}
module.exports.handler = function() {
var logger = require('../../util/logger')
var log = logger.createLogger('cli:migrate')
var db = require('../../db')
var dbapi = require('../../db/api')
const apiutil = require('../../util/apiutil')
const Promise = require('bluebird')
return db.setup()
.then(function() {
return new Promise(function(resolve, reject) {
setTimeout(function() {
return dbapi.getGroupByIndex(apiutil.ROOT, 'privilege').then(function(group) {
if (!group) {
const env = {
STF_ROOT_GROUP_NAME: 'Common'
, STF_ADMIN_NAME: 'administrator'
, STF_ADMIN_EMAIL: 'administrator@fakedomain.com'
}
for (const i in env) {
if (process.env[i]) {
env[i] = process.env[i]
}
}
return dbapi.createBootStrap(env)
}
return group
})
.then(function() {
resolve(true)
})
.catch(function(err) {
reject(err)
})
}, 1000)
})
})
.catch(function(err) {
log.fatal('Migration had an error:', err.stack)
process.exit(1)
})
.finally(function() {
process.exit(0)
})
}