- Adicionado estrutura completa do projeto - Configurado MCP server para Premiere Pro - Adicionado documentação e skills - Configurado Gitignore para o projeto
43 lines
1.4 KiB
Bash
Executable File
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;\"
|
|
"
|