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