import { Sequelize } from 'sequelize'; import config from '../src/common/config/database.js'; const env = process.env.NODE_ENV || 'development'; const dbConfig = config[env]; const sequelize = new Sequelize( dbConfig.database, dbConfig.username, dbConfig.password, { host: dbConfig.host, port: dbConfig.port, dialect: dbConfig.dialect, logging: console.log } ); async function migrate() { try { await sequelize.authenticate(); console.log('Connected to database.'); const queryInterface = sequelize.getQueryInterface(); // Check if users table exists const tables = await queryInterface.showAllTables(); if (!tables.includes('users')) { console.log('Users table does not exist. Skipping rename.'); return; } // Rename fullName to name const columns = await queryInterface.describeTable('users'); if (columns.fullName && !columns.name) { console.log('Renaming fullName to name...'); await queryInterface.renameColumn('users', 'fullName', 'name'); } else if (columns.fullName && columns.name) { console.log('Both fullName and name exist. Manual intervention needed.'); } else { console.log('fullName not found or name already exists.'); } // Rename mobileNumber to phone if (columns.mobileNumber && !columns.phone) { console.log('Renaming mobileNumber to phone...'); await queryInterface.renameColumn('users', 'mobileNumber', 'phone'); } else if (columns.mobileNumber && columns.phone) { console.log('Both mobileNumber and phone exist. Manual intervention needed.'); } else { console.log('mobileNumber not found or phone already exists.'); } console.log('Migration successful.'); } catch (error) { console.error('Migration failed:', error); } finally { await sequelize.close(); } } migrate();