1 import * as Sequelize from 'sequelize'
2 import { v4 as uuidv4 } from 'uuid'
4 async function up (utils: {
5 transaction: Sequelize.Transaction
6 queryInterface: Sequelize.QueryInterface
7 sequelize: Sequelize.Sequelize
10 const q = utils.queryInterface
13 // Create uuid column for users
14 const userFeedTokenUUID = {
16 defaultValue: Sequelize.UUIDV4,
19 await q.addColumn('user', 'feedToken', userFeedTokenUUID)
22 // Set UUID to previous users
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)
28 for (const user of users) {
29 const queryUpdate = `UPDATE "user" SET "feedToken" = '${uuidv4()}' WHERE id = ${user.id}`
30 await utils.sequelize.query(queryUpdate)
35 const userFeedTokenUUID = {
37 defaultValue: Sequelize.UUIDV4,
40 await q.changeColumn('user', 'feedToken', userFeedTokenUUID)
44 function down (options) {
45 throw new Error('Not implemented.')