Files
outline/server/migrations/20240329012958-remove-old-role-columns.js

42 lines
1.2 KiB
JavaScript

'use strict';
module.exports = {
async up(queryInterface) {
await queryInterface.sequelize.transaction(async (transaction) => {
await queryInterface.removeColumn("users", "isAdmin", { transaction });
await queryInterface.removeColumn("users", "isViewer", { transaction });
});
},
async down(queryInterface, Sequelize) {
await queryInterface.sequelize.transaction(async (transaction) => {
await queryInterface.addColumn("users", "isAdmin", {
type: Sequelize.BOOLEAN,
allowNull: false,
defaultValue: false,
});
await queryInterface.addColumn("users", "isViewer", {
type: Sequelize.BOOLEAN,
allowNull: false,
defaultValue: false,
});
});
await queryInterface.sequelize.transaction(async (transaction) => {
await queryInterface.sequelize.query(
`UPDATE users SET "isAdmin" = true WHERE role = 'admin'`,
{
transaction,
type: Sequelize.QueryTypes.UPDATE,
}
);
await queryInterface.sequelize.query(
`UPDATE users SET "isViewer" = true WHERE role = 'viewer'`,
{
transaction,
type: Sequelize.QueryTypes.UPDATE,
}
);
});
}
};