codigo0/backend/scripts/create-auth-tables.js

59 lines
1.6 KiB
JavaScript
Raw Normal View History

2026-01-19 08:10:16 +00:00
#!/usr/bin/env node
/**
* Script para crear schema y tabla de usuarios para autenticación
*
* Uso: node scripts/create-auth-tables.js
*/
import { readFile } from 'fs/promises';
import { join, dirname } from 'path';
import { fileURLToPath } from 'url';
import { query } from '../config/database.js';
import dotenv from 'dotenv';
dotenv.config();
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
async function createAuthTables() {
try {
console.log('🔧 Creando schema y tabla de usuarios...\n');
// Leer migración
const migrationPath = join(__dirname, '..', 'database', 'migrations', '001_create_auth_schema.sql');
const migrationSQL = await readFile(migrationPath, 'utf-8');
// Ejecutar migración
await query(migrationSQL);
console.log('✅ Schema emerges_content creado');
console.log('✅ Tabla users creada');
console.log('✅ Índices creados');
console.log('✅ Triggers creados\n');
// Verificar que la tabla existe
const checkTable = await query(`
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'emerges_content'
AND table_name = 'users'
`);
if (checkTable.rows.length > 0) {
console.log('✅ Verificación: Tabla users existe\n');
} else {
console.log('⚠️ Advertencia: Tabla users no encontrada después de creación\n');
}
} catch (error) {
console.error('❌ Error creando tablas:', error.message);
console.error('Detalles:', error);
process.exit(1);
}
}
createAuthTables();