59 lines
1.6 KiB
JavaScript
59 lines
1.6 KiB
JavaScript
#!/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();
|
|
|