codenuk_backend_mine/databases/scripts/init.sql
2025-10-10 08:56:39 +05:30

47 lines
1.3 KiB
SQL

-- Initialize all databases
-- Check if databases exist before creating them
DO $$
BEGIN
IF NOT EXISTS (SELECT FROM pg_database WHERE datname = 'n8n_db') THEN
CREATE DATABASE n8n_db;
END IF;
END
$$;
DO $$
BEGIN
IF NOT EXISTS (SELECT FROM pg_database WHERE datname = 'gitea_db') THEN
CREATE DATABASE gitea_db;
END IF;
END
$$;
-- dev_pipeline is already created by POSTGRES_DB environment variable
-- Create users
CREATE USER n8n_user WITH PASSWORD 'n8n_secure_2024';
CREATE USER gitea_user WITH PASSWORD 'gitea_secure_2024';
-- Create pipeline_admin user if it doesn't exist
DO $$
BEGIN
IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = 'pipeline_admin') THEN
CREATE USER pipeline_admin WITH PASSWORD 'secure_pipeline_2024';
END IF;
END
$$;
-- Grant permissions
GRANT ALL PRIVILEGES ON DATABASE n8n_db TO n8n_user;
GRANT ALL PRIVILEGES ON DATABASE gitea_db TO gitea_user;
GRANT ALL PRIVILEGES ON DATABASE dev_pipeline TO pipeline_admin;
-- Enable extensions on main database
\c dev_pipeline;
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE EXTENSION IF NOT EXISTS "pgcrypto";
CREATE EXTENSION IF NOT EXISTS "pg_stat_statements";
-- Create basic monitoring
\c postgres;
CREATE EXTENSION IF NOT EXISTS "pg_stat_statements";