]>
Commit | Line | Data |
---|---|---|
afff310e | 1 | import * as Sequelize from 'sequelize' |
d4a8e7a6 | 2 | import { buildUUID } from '@server/helpers/uuid' |
afff310e RK |
3 | |
4 | async function up (utils: { | |
5 | transaction: Sequelize.Transaction | |
6 | queryInterface: Sequelize.QueryInterface | |
7 | sequelize: Sequelize.Sequelize | |
8 | db: any | |
9 | }): Promise<void> { | |
10 | const q = utils.queryInterface | |
11 | ||
18490b07 C |
12 | { |
13 | // Create uuid column for users | |
14 | const userFeedTokenUUID = { | |
15 | type: Sequelize.UUID, | |
16 | defaultValue: Sequelize.UUIDV4, | |
17 | allowNull: true | |
18 | } | |
19 | await q.addColumn('user', 'feedToken', userFeedTokenUUID) | |
afff310e | 20 | } |
afff310e RK |
21 | |
22 | // Set UUID to previous users | |
23 | { | |
24 | const query = 'SELECT * FROM "user" WHERE "feedToken" IS NULL' | |
25 | const options = { type: Sequelize.QueryTypes.SELECT as Sequelize.QueryTypes.SELECT } | |
26 | const users = await utils.sequelize.query<any>(query, options) | |
27 | ||
28 | for (const user of users) { | |
d4a8e7a6 | 29 | const queryUpdate = `UPDATE "user" SET "feedToken" = '${buildUUID()}' WHERE id = ${user.id}` |
afff310e RK |
30 | await utils.sequelize.query(queryUpdate) |
31 | } | |
32 | } | |
18490b07 C |
33 | |
34 | { | |
35 | const userFeedTokenUUID = { | |
36 | type: Sequelize.UUID, | |
37 | defaultValue: Sequelize.UUIDV4, | |
38 | allowNull: false | |
39 | } | |
40 | await q.changeColumn('user', 'feedToken', userFeedTokenUUID) | |
41 | } | |
afff310e RK |
42 | } |
43 | ||
44 | function down (options) { | |
45 | throw new Error('Not implemented.') | |
46 | } | |
47 | ||
48 | export { | |
49 | up, | |
50 | down | |
51 | } |