42 lines
1.2 KiB
JavaScript
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,
|
|
}
|
|
);
|
|
});
|
|
}
|
|
}; |