Built motion from commit 10af8726.|2.6.34
[motion2.git] / server / migrations / 2.0.13.js
1 'use strict';
2 var BPromise = require('bluebird');
3
4 var logger = require('../config/logger')('migration');
5
6 var Migration = function(queryInterface) {
7   this.queryInterface = queryInterface;
8 };
9
10 Migration.prototype.addColumn = function(table, column, type) {
11   return this.queryInterface
12     .addColumn(table, column, type)
13     .then(function(res) {
14       logger.info('Added column %s to %s', column, table);
15     })
16     .catch(function(err) {
17       logger.info(JSON.stringify(err));
18     });
19
20 };
21
22 Migration.prototype.removeColumn = function(table, column) {
23   return this.queryInterface
24     .removeColumn(table, column)
25     .then(function(res) {
26       logger.info('Removed column %s from %s', column, table);
27     })
28     .catch(function(err) {
29       logger.info(JSON.stringify(err));
30     });
31
32 };
33
34 Migration.prototype.renameColumn = function(table, oldColumn, newColumn) {
35   return this.queryInterface
36     .renameColumn(table, oldColumn, newColumn)
37     .then(function(res) {
38       logger.info('Renamed column from %s to %s on %s', oldColumn, newColumn, table);
39     })
40     .catch(function(err) {
41       logger.info(JSON.stringify(err));
42     });
43 };
44
45 module.exports = {
46
47   up: function(queryInterface, Sequelize) {
48     var migration = new Migration(queryInterface);
49     migration.addColumn('cm_hopper_final', 'deletedat', {
50       type: Sequelize.DATE
51     });
52     migration.addColumn('users', 'phoneBarRingInUse', {
53       type: Sequelize.BOOLEAN,
54       defaultValue: false
55     });
56     migration.addColumn('cm_hopper_final', 'deleted', {
57       type: Sequelize.STRING,
58       defaultValue: null
59     });
60     migration.renameColumn('cm_hopper_final', 'reschedule', 'rescheduled');
61   },
62
63   down: function(queryInterface, Sequelize) {
64     var migration = new Migration(queryInterface, Sequelize);
65     migration.removeColumn('users', 'phoneBarRingInUse');
66     migration.removeColumn('cm_hopper_final', 'deletedat');
67     migration.removeColumn('cm_hopper_final', 'deleted');
68     migration.renameColumn('cm_hopper_final', 'rescheduled', 'reschedule');
69   }
70 };