#!/bin/bash # ============================================================================= # GoodGo Platform - PostgreSQL Database Initialization Script # ============================================================================= # EN: Creates all required databases for each microservice on first startup. # VI: Tạo tất cả databases cần thiết cho từng microservice khi khởi động lần đầu. # ============================================================================= set -e DATABASES=( "ads_analytics_service" "ads_billing_service" "ads_manager_service" "ads_serving_service" "ads_tracking_service" "booking_service" "catalog_service" "chat_service" "fnb_engine" "iam_service" "inventory_service" "membership_service" "merchant_service" "mining_service" "mission_service" "mkt_facebook_service" "mkt_whatsapp_service" "mkt_x_service" "mkt_zalo_service" "order_service" "promotion_service" "social_service" "storage_service" "wallet_service" ) echo "=== GoodGo: Creating databases ===" for DB_NAME in "${DATABASES[@]}"; do echo "Creating database: $DB_NAME" psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL SELECT 'CREATE DATABASE $DB_NAME' WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '$DB_NAME')\gexec EOSQL done echo "=== GoodGo: All databases created successfully ==="