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