'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.createTable("file_operations",{ id: { type: Sequelize.UUID, allowNull: false, primaryKey: true, }, state: { type: Sequelize.ENUM("creating", "uploading", "complete", "error","expired"), allowNull: false, }, type: { type: Sequelize.ENUM("import", "export"), allowNull: false, }, key: { type: Sequelize.STRING, }, url: { type: Sequelize.STRING, }, size: { type: Sequelize.BIGINT, allowNull: false, }, userId: { type: Sequelize.UUID, allowNull: false, references: { model: "users" } }, collectionId: { type: Sequelize.UUID, references: { model: "collections" } }, teamId: { type: Sequelize.UUID, allowNull: false, references: { model: "teams" } }, createdAt: { type: Sequelize.DATE, allowNull: false, }, updatedAt: { type: Sequelize.DATE, allowNull: false, }, }) await queryInterface.addIndex('file_operations', ["type", "state"]) }, down: async (queryInterface, Sequelize) => { await queryInterface.removeIndex('file_operations', ["type", "state"]); await queryInterface.dropTable('file_operations'); } };