]>
Commit | Line | Data |
---|---|---|
1 | import * as Sequelize from 'sequelize' | |
2 | import * as Promise from 'bluebird' | |
3 | ||
4 | function up (utils: { | |
5 | transaction: Sequelize.Transaction, | |
6 | queryInterface: Sequelize.QueryInterface, | |
7 | sequelize: Sequelize.Sequelize | |
8 | }): Promise<void> { | |
9 | const q = utils.queryInterface | |
10 | ||
11 | const data = { | |
12 | type: Sequelize.STRING(400), | |
13 | allowNull: false, | |
14 | defaultValue: '' | |
15 | } | |
16 | return q.addColumn('Users', 'email', data) | |
17 | .then(() => { | |
18 | const query = 'UPDATE "Users" SET "email" = CONCAT("username", \'@example.com\')' | |
19 | return utils.sequelize.query(query, { transaction: utils.transaction }) | |
20 | }) | |
21 | .then(() => { | |
22 | data.defaultValue = null | |
23 | ||
24 | return q.changeColumn('Users', 'email', data) | |
25 | }) | |
26 | } | |
27 | ||
28 | function down (options) { | |
29 | throw new Error('Not implemented.') | |
30 | } | |
31 | ||
32 | export { | |
33 | up, | |
34 | down | |
35 | } |