2 var BPromise = require('bluebird');
4 var logger = require('../config/logger')('migration');
5 var util = require('util');
7 var Migration = function(queryInterface) {
8 this.queryInterface = queryInterface;
11 Migration.prototype.insertExtension = function(query) {
12 return this.queryInterface.sequelize.query(query)
14 logger.info('Insert new row in voice_extensions');
16 .catch(function(err) {
17 logger.info(util.inspect(err, {
24 Migration.prototype.changeColumn = function(table, column, type) {
25 return this.queryInterface
26 .changeColumn(table, column, type)
28 logger.info('Changed column %s in table %s', column, table);
30 .catch(function(err) {
31 logger.info(util.inspect(err, {
38 Migration.prototype.addColumn = function(table, column, type) {
39 return this.queryInterface
40 .addColumn(table, column, type)
42 logger.info('Added column %s to %s', column, table);
44 .catch(function(err) {
45 logger.info(JSON.stringify(err));
52 up: function(queryInterface, Sequelize) {
53 var migration = new Migration(queryInterface);
55 migration.insertExtension("INSERT INTO `voice_extensions` (`context`, `exten`, `priority`, `app`, `type`, `description`, `appType`, `createdAt`, `updatedAt`) VALUES ('from-sip', 'failed', '1', 'NoOp', 'system', 'catch failed event auto generated', 'custom', NOW(), NOW());");
56 migration.insertExtension("INSERT INTO `voice_extensions` (`context`, `exten`, `priority`, `app`, `type`, `description`, `appType`, `createdAt`, `updatedAt`) VALUES ('from-sip', 'failed', '2', 'Hangup', 'system', 'catch failed event auto generated', 'custom', NOW(), NOW());");
57 migration.changeColumn('users', 'allow', {
58 type: Sequelize.STRING,
59 defaultValue: 'ulaw;gsm'
62 migration.changeColumn('tools_trunks', 'allow', {
63 type: Sequelize.STRING,
64 defaultValue: 'ulaw;gsm;alaw'
67 migration.addColumn('voice_queues', 'dialPrefix', {
68 type: Sequelize.STRING,
73 down: function(queryInterface, Sequelize) {
74 var migration = new Migration(queryInterface);