/** * Script para crear el schema completo tes_content * Ejecuta el SQL del schema completo */ import { readFile } from 'fs/promises'; import { join, dirname } from 'path'; import { fileURLToPath } from 'url'; import { query } from '../config/database.js'; import 'dotenv/config'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const schemaPath = join(__dirname, '../../docs/SERVER_DATABASE_SCHEMA.sql'); async function createFullSchema() { try { console.log('šŸ”§ Creando schema completo tes_content...\n'); // Leer el SQL completo const schemaSql = await readFile(schemaPath, 'utf-8'); console.log('šŸ“ Ejecutando SQL completo...\n'); try { // Ejecutar todo el SQL de una vez await query(schemaSql); console.log('āœ… SQL ejecutado correctamente\n'); } catch (error) { // Ignorar errores de "ya existe" if (error.code === '42P07' || error.code === '42710' || error.message.includes('already exists')) { console.log('āš ļø Algunos objetos ya existen (esto es normal)\n'); } else { throw error; } } // Verificar tablas creadas console.log('šŸ“Š Verificando tablas creadas...'); const tablesResult = await query(` SELECT table_name FROM information_schema.tables WHERE table_schema = 'tes_content' ORDER BY table_name `); if (tablesResult.rows.length > 0) { console.log(' Tablas encontradas:'); tablesResult.rows.forEach(row => { console.log(` āœ… ${row.table_name}`); }); } else { console.log(' āš ļø No se encontraron tablas'); } console.log('\nāœ… Schema tes_content creado correctamente!'); } catch (error) { console.error('āŒ Error creando schema:', error.message); process.exit(1); } } createFullSchema();