Built motion from commit 3e059bc2.|2.5.32
[motion2.git] / server / migrations / 2.0.26.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.changeColumn = function(table, column, type) {
12   return this.queryInterface
13     .changeColumn(table, column, type)
14     .then(function(res) {
15       logger.info('Changed column %s in table %s', column, table);
16     })
17     .catch(function(err) {
18       logger.info(util.inspect(err, {
19         showHidden: false,
20         depth: null
21       }));
22     });
23 };
24
25 Migration.prototype.addColumn = function(table, column, type) {
26   return this.queryInterface
27     .addColumn(table, column, type)
28     .then(function(res) {
29       logger.info('Added column %s to %s', column, table);
30     })
31     .catch(function(err) {
32       logger.info(JSON.stringify(err));
33     });
34
35 };
36
37 module.exports = {
38
39   up: function(queryInterface, Sequelize) {
40     var migration = new Migration(queryInterface);
41
42     migration.changeColumn('tools_trunks', 'sendrpid', {
43       type: Sequelize.ENUM('yes', 'no', 'pai'),
44       defaultValue: 'no'
45     });
46
47     migration.addColumn('mail_servers_out', 'authentication', {
48       type: Sequelize.BOOLEAN,
49       defaultValue: true
50     });
51
52     migration.changeColumn('voice_queues', 'timeout', {
53       type: Sequelize.INTEGER(11),
54       defaultValue: 15
55     });
56
57     migration.changeColumn('voice_queues', 'retry', {
58       type: Sequelize.INTEGER(11),
59       defaultValue: 2
60     });
61
62     migration.changeColumn('users', 'allow', {
63       type: Sequelize.STRING,
64       allowNull: false,
65       defaultValue: 'ulaw;alaw;gsm'
66     });
67
68     migration.changeColumn('tools_trunks', 'allow', {
69       type: Sequelize.STRING,
70       allowNull: false,
71       defaultValue: 'ulaw;alaw;gsm'
72     });
73
74     migration.addColumn('voice_queues', 'dialCheckDuplicateType', {
75       type: Sequelize.ENUM('always', 'never', 'onlyIfOpen'),
76       defaultValue: 'always'
77     });
78
79     migration.addColumn('campaigns', 'dialCheckDuplicateType', {
80       type: Sequelize.ENUM('always', 'never', 'onlyIfOpen'),
81       defaultValue: 'always'
82     });
83
84     migration.addColumn('mail_accounts', 'email', {
85       type: Sequelize.STRING
86     });
87   },
88
89   down: function(queryInterface, Sequelize) {
90     var migration = new Migration(queryInterface);
91   }
92 };