Agregar sistema de vinculaciones con registros externos de Metabase
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 2m46s
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 2m46s
- Nuevo schema BD para vinculaciones_externas con constraint único por período - Cliente Metabase para consultar Ingresos, Carretas, Salidas y Rechazos - Endpoints API para registros externos (/api/externos/*) y vinculaciones (/api/vinculaciones/*) - Composable useRegistrosExternos con lógica de vinculación individual y masiva - Componentes: TablaRegistros, ModalAsignar, ProgressDashboard - Tab "Externos" en app.vue con sub-tabs y dashboard de progreso - LotesCard.vue ahora muestra registros vinculados al lote
This commit is contained in:
@@ -25,9 +25,11 @@ export default defineEventHandler(async (event) => {
|
||||
// Leer los archivos SQL
|
||||
const schemaPath = join(process.cwd(), 'server', 'database', '01_schema.sql')
|
||||
const seedPath = join(process.cwd(), 'server', 'database', '02_seed.sql')
|
||||
const vinculacionesPath = join(process.cwd(), 'server', 'database', '03_vinculaciones_externas.sql')
|
||||
|
||||
const schemaSQL = await readFile(schemaPath, 'utf-8')
|
||||
const seedSQL = await readFile(seedPath, 'utf-8')
|
||||
const vinculacionesSQL = await readFile(vinculacionesPath, 'utf-8')
|
||||
|
||||
await client.query('BEGIN')
|
||||
|
||||
@@ -46,12 +48,18 @@ export default defineEventHandler(async (event) => {
|
||||
// Si no existen las tablas, ejecutar schema completo
|
||||
console.log('📋 Las tablas no existen. Creando schema...')
|
||||
await client.query(schemaSQL)
|
||||
console.log('📋 Creando schema de vinculaciones externas...')
|
||||
await client.query(vinculacionesSQL)
|
||||
} else {
|
||||
console.log('📋 Las tablas ya existen. Limpiando datos existentes...')
|
||||
// Si las tablas existen, limpiar datos antes de cargar seed
|
||||
await client.query('TRUNCATE TABLE vinculaciones_externas CASCADE')
|
||||
await client.query('TRUNCATE TABLE operacion_lotes CASCADE')
|
||||
await client.query('TRUNCATE TABLE operaciones CASCADE')
|
||||
await client.query('TRUNCATE TABLE lotes CASCADE')
|
||||
// Asegurar que el schema de vinculaciones esté actualizado
|
||||
console.log('📋 Actualizando schema de vinculaciones externas...')
|
||||
await client.query(vinculacionesSQL)
|
||||
}
|
||||
|
||||
// Ejecutar seed (inserta datos de ejemplo)
|
||||
|
||||
Reference in New Issue
Block a user