feat: abstracción DB multi-engine — CRUD genérico y openers para SQLite, Postgres, ClickHouse, DuckDB

Funciones Go con interfaz unificada para operaciones DB: open, close, create_table, exec, query, insert_row, insert_batch.
Openers específicos por engine. Tipo DBConfig para configuración común.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-01 20:55:17 +02:00
parent 2f119478af
commit 47235e702c
22 changed files with 787 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
---
name: db_config
lang: go
domain: infra
version: "1.0.0"
algebraic: product
definition: |
type DBConfig struct {
Driver string // "sqlite", "duckdb", "postgres", "clickhouse"
DSN string // Data source name / connection string
Opts map[string]string // Driver-specific options (optional)
}
description: "Parametros de conexion para cualquier base de datos soportada. Agnóstico al driver."
tags: [database, config, connection, sqlite, duckdb, postgres, clickhouse]
uses_types: []
file_path: "functions/infra/db_config.go"
---
## Notas
Tipo producto — todos los campos siempre presentes. Driver toma uno de los valores: "sqlite", "duckdb", "postgres", "clickhouse". DSN es el connection string nativo del driver. Opts permite pasar opciones adicionales especificas del driver sin necesidad de un tipo por driver.