You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
orquestrador/setup-database.sh

60 lines
1.6 KiB
Bash

#!/bin/bash
# Script para setup inicial no Google Cloud SQL
# Uso: ./setup-database.sh <project-id> <instance-name> <region>
set -e
PROJECT_ID=${1:-seu-projeto-id}
INSTANCE_NAME=${2:-orquestrador-db}
REGION=${3:-us-central1}
DB_NAME="orquestrador"
DB_USER="postgres"
echo "📊 Criando instância Cloud SQL PostgreSQL"
echo "📦 Projeto: $PROJECT_ID"
echo "🏢 Instância: $INSTANCE_NAME"
echo "🌍 Região: $REGION"
# Habilitar SQL Admin API
echo "📡 Habilitando Cloud SQL Admin API..."
gcloud services enable sqladmin.googleapis.com
# Criar instância PostgreSQL
echo "🔨 Criando instância PostgreSQL..."
gcloud sql instances create $INSTANCE_NAME \
--project=$PROJECT_ID \
--database-version=POSTGRES_15 \
--region=$REGION \
--tier=db-f1-micro \
--availability-type=ZONAL \
--backup-start-time=03:00 \
--enable-bin-log \
--no-assign-ip
# Criar banco de dados
echo "🗄️ Criando banco de dados..."
gcloud sql databases create $DB_NAME \
--instance=$INSTANCE_NAME \
--project=$PROJECT_ID
# Criar usuário
echo "👤 Criando usuário de banco de dados..."
gcloud sql users create $DB_USER \
--instance=$INSTANCE_NAME \
--project=$PROJECT_ID
echo ""
echo "✅ Setup do banco de dados concluído!"
echo ""
echo "📋 Configurações do Cloud SQL:"
echo "🏢 Instância: $INSTANCE_NAME"
echo "📦 Banco: $DB_NAME"
echo "👤 Usuário: $DB_USER"
echo ""
echo "próximos passos:"
echo "1. Defina a senha do usuário postgres no Cloud Console"
echo "2. Configure a connection string:"
echo " postgresql://$DB_USER:SENHA@/cloudsql/$PROJECT_ID:$REGION:$INSTANCE_NAME/$DB_NAME"