Files
testRestApi/node/migrations/20261027000000-add-login-to-users.js
T

39 lines
1.2 KiB
JavaScript

'use strict';
module.exports = {
async up(queryInterface, Sequelize) {
const columns = await queryInterface.describeTable('users');
if (!columns.login) {
await queryInterface.addColumn('users', 'login', {
type: Sequelize.STRING(255),
allowNull: true,
});
}
await queryInterface.sequelize.query(
"UPDATE `users` SET `login` = `email` WHERE `login` IS NULL OR `login` = ''",
);
await queryInterface.changeColumn('users', 'login', {
type: Sequelize.STRING(255),
allowNull: false,
});
const indexes = await queryInterface.showIndex('users');
if (!indexes.some((index) => index.name === 'users_login_unique')) {
await queryInterface.addIndex('users', ['login'], {
name: 'users_login_unique',
unique: true,
});
}
},
async down(queryInterface) {
const indexes = await queryInterface.showIndex('users');
if (indexes.some((index) => index.name === 'users_login_unique')) {
await queryInterface.removeIndex('users', 'users_login_unique');
}
const columns = await queryInterface.describeTable('users');
if (columns.login) await queryInterface.removeColumn('users', 'login');
},
};