- ✅ Ticket 1.1: Estructura Clean Architecture en backend - ✅ Ticket 1.2: Schemas Zod compartidos - ✅ Ticket 1.3: Refactorización drugs.ts (1362 → 8 archivos modulares) - ✅ Ticket 1.4: Refactorización procedures.ts (3583 → 6 archivos modulares) - ✅ Ticket 1.5: Eliminación de duplicidades (~50 líneas) Cambios principales: - Creada estructura Clean Architecture en backend/src/ - Schemas Zod compartidos en backend/src/shared/schemas/ - Refactorización modular de drugs y procedures - Utilidades genéricas en src/utils/ (filter, validation) - Eliminados scripts obsoletos y documentación antigua - Corregidos errores: QueryClient, import test-error-handling - Build verificado y funcionando correctamente
47 lines
1.6 KiB
SQL
47 lines
1.6 KiB
SQL
-- Script SQL para crear usuario y base de datos
|
|
-- EJECUTAR: sudo -u postgres psql -f scripts/create-user.sql
|
|
|
|
-- Crear usuario si no existe
|
|
-- ⚠️ IMPORTANTE: Reemplaza 'TU_PASSWORD_AQUI' con una contraseña segura
|
|
-- O mejor aún, usa variables de entorno: ${DB_USER} y ${DB_PASSWORD}
|
|
DO $$
|
|
DECLARE
|
|
db_user TEXT := '${DB_USER:-planetazuzu}';
|
|
db_password TEXT := '${DB_PASSWORD}';
|
|
BEGIN
|
|
IF db_password IS NULL OR db_password = '' THEN
|
|
RAISE EXCEPTION 'DB_PASSWORD no configurado. Configura la variable de entorno antes de ejecutar.';
|
|
END IF;
|
|
|
|
IF NOT EXISTS (SELECT FROM pg_user WHERE usename = db_user) THEN
|
|
EXECUTE format('CREATE USER %I WITH PASSWORD %L', db_user, db_password);
|
|
RAISE NOTICE 'Usuario % creado', db_user;
|
|
ELSE
|
|
RAISE NOTICE 'Usuario % ya existe', db_user;
|
|
-- Actualizar password
|
|
EXECUTE format('ALTER USER %I WITH PASSWORD %L', db_user, db_password);
|
|
END IF;
|
|
END
|
|
$$;
|
|
|
|
-- Crear base de datos si no existe
|
|
SELECT 'CREATE DATABASE emerges_tes OWNER planetazuzu'
|
|
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'emerges_tes')\gexec
|
|
|
|
-- Dar permisos
|
|
GRANT ALL PRIVILEGES ON DATABASE emerges_tes TO planetazuzu;
|
|
|
|
-- Conectar a la base de datos y dar permisos en el esquema
|
|
\c emerges_tes
|
|
|
|
-- Crear esquema si no existe (se creará en migración, pero por si acaso)
|
|
CREATE SCHEMA IF NOT EXISTS emerges_content;
|
|
|
|
-- Dar permisos en el esquema
|
|
GRANT ALL ON SCHEMA emerges_content TO planetazuzu;
|
|
ALTER DEFAULT PRIVILEGES IN SCHEMA emerges_content GRANT ALL ON TABLES TO planetazuzu;
|
|
ALTER DEFAULT PRIVILEGES IN SCHEMA emerges_content GRANT ALL ON SEQUENCES TO planetazuzu;
|
|
|
|
\q
|
|
|