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.
60 lines
1.6 KiB
Bash
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"
|
|
|