Files
João Henrique b541f502ba feat: initial commit - Jhonny Editor
- Adicionado estrutura completa do projeto
- Configurado MCP server para Premiere Pro
- Adicionado documentação e skills
- Configurado Gitignore para o projeto
2026-09-08 09:59:31 -04:00

43 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# Aplica uma migration SQL num banco do rag-hub como rag_admin.
#
# Não chame direto — use os wrappers por sistema (`migrate_tigre.sh`,
# `migrate_doza.sh`), que já sabem o nome do banco.
#
# A senha do rag_admin vive só em /docker/rag-hub/.env NA VPS. Este script
# lê a senha lá dentro e a entrega ao psql pelo ambiente do processo remoto:
# ela nunca aparece na linha de comando, em arquivo local, nem no histórico
# do shell — como exige admin/VPS-ACCESS.md § Segurança.
#
# Uso: migrate.sh <banco> <schema> <arquivo.sql>
set -euo pipefail
VPS="root@179.197.228.240"
DB="$1"
SCHEMA="$2"
SQL_FILE="$3"
if [ ! -f "$SQL_FILE" ]; then
echo "[rag] migration nao encontrada: $SQL_FILE" >&2
exit 1
fi
echo "[rag] aplicando $(basename "$SQL_FILE") em $DB (como rag_admin)..."
# O SQL vai por stdin do ssh; a senha é resolvida no lado remoto.
ssh "$VPS" "
set -e
cd /docker/rag-hub
PGPASSWORD=\$(grep -E '^POSTGRES_PASSWORD=' .env | cut -d= -f2-) \
docker exec -i -e PGPASSWORD rag-hub-db \
psql -v ON_ERROR_STOP=1 -U rag_admin -d $DB -f -
" < "$SQL_FILE"
echo "[rag] migration aplicada. Indices agora no schema $SCHEMA:"
ssh "$VPS" "
cd /docker/rag-hub
PGPASSWORD=\$(grep -E '^POSTGRES_PASSWORD=' .env | cut -d= -f2-) \
docker exec -i -e PGPASSWORD rag-hub-db \
psql -U rag_admin -d $DB -c \"SELECT indexname FROM pg_indexes WHERE schemaname='$SCHEMA' ORDER BY 1;\"
"