codigo0/backend/crear-usuario-y-bd.sh

55 lines
1.5 KiB
Bash
Raw Normal View History

2026-01-19 08:10:16 +00:00
#!/bin/bash
# Script para crear usuario y base de datos PostgreSQL
# Ejecutar: bash crear-usuario-y-bd.sh
echo "🔧 Creando usuario y base de datos PostgreSQL..."
echo ""
# Copiar SQL a /tmp para que postgres pueda acceder
cat > /tmp/create-user-emerges.sql << 'SQL'
-- Crear usuario si no existe
DO $$
BEGIN
IF NOT EXISTS (SELECT FROM pg_user WHERE usename = 'planetazuzu') THEN
CREATE USER planetazuzu WITH PASSWORD 'Monforte.1977';
RAISE NOTICE 'Usuario planetazuzu creado';
ELSE
RAISE NOTICE 'Usuario planetazuzu ya existe';
ALTER USER planetazuzu WITH PASSWORD 'Monforte.1977';
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
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
SQL
# Ejecutar con sudo
echo "Ejecutando SQL (requiere contraseña de sudo)..."
sudo -u postgres psql -f /tmp/create-user-emerges.sql
# Limpiar
rm -f /tmp/create-user-emerges.sql
echo ""
echo "✅ Proceso completado"
echo ""
echo "Verificar con: cd backend && npm run verify"