]>
Commit | Line | Data |
---|---|---|
5804c0db C |
1 | 'use strict' |
2 | ||
3 | const waterfall = require('async/waterfall') | |
4 | ||
5 | // utils = { transaction, queryInterface, sequelize, Sequelize } | |
6 | exports.up = function (utils, finalCallback) { | |
7 | const q = utils.queryInterface | |
8 | const Sequelize = utils.Sequelize | |
9 | ||
10 | const data = { | |
11 | type: Sequelize.STRING(400), | |
12 | allowNull: false, | |
13 | defaultValue: '' | |
14 | } | |
15 | ||
16 | waterfall([ | |
17 | ||
18 | function addEmailColumn (callback) { | |
19 | q.addColumn('Users', 'email', data, { transaction: utils.transaction }).asCallback(function (err) { | |
20 | return callback(err) | |
21 | }) | |
22 | }, | |
23 | ||
24 | function updateWithFakeEmails (callback) { | |
25 | const query = 'UPDATE "Users" SET "email" = CONCAT("username", \'@example.com\')' | |
26 | utils.sequelize.query(query, { transaction: utils.transaction }).asCallback(function (err) { | |
27 | return callback(err) | |
28 | }) | |
29 | }, | |
30 | ||
31 | function nullOnDefault (callback) { | |
32 | data.defaultValue = null | |
33 | ||
34 | q.changeColumn('Users', 'email', data, { transaction: utils.transaction }).asCallback(callback) | |
35 | } | |
36 | ], finalCallback) | |
37 | } | |
38 | ||
39 | exports.down = function (options, callback) { | |
40 | throw new Error('Not implemented.') | |
41 | } |