a9f3c66864b16fd201f05005adf86cbfc954aa2e
[motion2.git] / server / migrations / 2.0.25.js
1 'use strict';
2 var BPromise = require('bluebird');
3
4 var logger = require('../config/logger')('migration');
5 var util = require('util');
6
7 var Migration = function(queryInterface) {
8   this.queryInterface = queryInterface;
9 };
10
11 Migration.prototype.insertExtension = function(query) {
12   return this.queryInterface.sequelize.query(query)
13     .then(function(res) {
14       logger.info('Insert new row in voice_extensions');
15     })
16     .catch(function(err) {
17       logger.info(util.inspect(err, {
18         showHidden: false,
19         depth: null
20       }));
21     });
22 };
23
24 Migration.prototype.changeColumn = function(table, column, type) {
25   return this.queryInterface
26     .changeColumn(table, column, type)
27     .then(function(res) {
28       logger.info('Changed column %s in table %s', column, table);
29     })
30     .catch(function(err) {
31       logger.info(util.inspect(err, {
32         showHidden: false,
33         depth: null
34       }));
35     });
36 };
37
38 Migration.prototype.addColumn = function(table, column, type) {
39   return this.queryInterface
40     .addColumn(table, column, type)
41     .then(function(res) {
42       logger.info('Added column %s to %s', column, table);
43     })
44     .catch(function(err) {
45       logger.info(JSON.stringify(err));
46     });
47
48 };
49
50 module.exports = {
51
52   up: function(queryInterface, Sequelize) {
53     var migration = new Migration(queryInterface);
54
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'
60     });
61
62     migration.changeColumn('tools_trunks', 'allow', {
63       type: Sequelize.STRING,
64       defaultValue: 'ulaw;gsm;alaw'
65     });
66
67     migration.addColumn('voice_queues', 'dialPrefix', {
68       type: Sequelize.STRING,
69       defaultValue: null
70     });
71   },
72
73   down: function(queryInterface, Sequelize) {
74     var migration = new Migration(queryInterface);
75   }
76 };