35 lines
1.0 KiB
JavaScript
35 lines
1.0 KiB
JavaScript
const sequelize = require('./config/database');
|
||
|
||
async function initDB() {
|
||
try {
|
||
const queryInterface = sequelize.getQueryInterface();
|
||
const tableName = 'Users';
|
||
|
||
if (await queryInterface.tableExists(tableName)) {
|
||
const tableDescription = await queryInterface.describeTable(tableName);
|
||
|
||
if (tableDescription.username && !tableDescription.email) {
|
||
await queryInterface.renameColumn(tableName, 'username', 'email');
|
||
}
|
||
|
||
if (tableDescription.username && tableDescription.email) {
|
||
await sequelize.query(
|
||
`UPDATE "${tableName}"
|
||
SET "email" = COALESCE("email", "username")
|
||
WHERE "email" IS NULL AND "username" IS NOT NULL;`
|
||
);
|
||
}
|
||
}
|
||
|
||
await sequelize.sync({ alter: true });
|
||
console.log('✅ Base de datos conectada y tablas sincronizadas.');
|
||
|
||
// console.log('ℹ️ Creación de usuario por defecto desactivada.');
|
||
|
||
} catch (error) {
|
||
console.error('❌ Error fatal al iniciar la base de datos:', error);
|
||
process.exit(1);
|
||
}
|
||
}
|
||
|
||
module.exports = initDB; |