import * as Sequelize from 'sequelize' async function up (utils: { transaction: Sequelize.Transaction queryInterface: Sequelize.QueryInterface sequelize: Sequelize.Sequelize }): Promise { const { transaction } = utils { const data = { type: Sequelize.BOOLEAN, allowNull: true, defaultValue: true } await utils.queryInterface.addColumn('thumbnail', 'onDisk', data, { transaction }) } { // Remote previews are not on the disk await utils.sequelize.query( 'UPDATE "thumbnail" SET "onDisk" = FALSE ' + 'WHERE "type" = 2 AND "videoId" NOT IN (SELECT "id" FROM "video" WHERE "remote" IS FALSE)', { transaction } ) } { const data = { type: Sequelize.BOOLEAN, allowNull: false, defaultValue: null } await utils.queryInterface.changeColumn('thumbnail', 'onDisk', data, { transaction }) } } function down (options) { throw new Error('Not implemented.') } export { up, down }