- Adicionado estrutura completa do projeto - Configurado MCP server para Premiere Pro - Adicionado documentação e skills - Configurado Gitignore para o projeto
83 lines
2.7 KiB
Markdown
83 lines
2.7 KiB
Markdown
# Setup do banco RAG — Doza
|
|
|
|
Pré-requisito: o container compartilhado `rag-hub-db` já precisa estar
|
|
rodando na VPS (`/docker/rag-hub/`, ver `admin/VPS-ACCESS.md`). Se ele ainda
|
|
não existe, esse é um passo único para toda a infra, não deste projeto —
|
|
consulte quem já configurou antes de recriar.
|
|
|
|
## 1. Abrir túnel SSH até o Postgres
|
|
|
|
O banco não tem porta pública. Toda conexão (local ou de outro projeto)
|
|
passa por túnel SSH:
|
|
|
|
```bash
|
|
ssh -N -L 55435:127.0.0.1:55435 root@179.197.228.240
|
|
```
|
|
|
|
Mantenha esse comando rodando em um terminal enquanto for usar o banco.
|
|
As credenciais SSH (host, chave) estão em `admin/VPS-ACCESS.md`.
|
|
|
|
## 2. Criar o banco deste projeto (só na primeira vez)
|
|
|
|
Conectado via túnel, como usuário admin do `rag-hub-db` (`rag_admin`,
|
|
senha em `admin/VPS-ACCESS.md` na VPS):
|
|
|
|
```bash
|
|
psql -h 127.0.0.1 -p 55435 -U rag_admin -d postgres \
|
|
-c "CREATE DATABASE rag_doza OWNER rag_admin;"
|
|
```
|
|
|
|
> Se já existe (caso comum — este projeto já tem o banco criado), pule
|
|
> este passo.
|
|
|
|
## 3. Aplicar o schema
|
|
|
|
```bash
|
|
psql -h 127.0.0.1 -p 55435 -U rag_admin -d rag_doza -f rag/schema.sql
|
|
```
|
|
|
|
`schema.sql` é idempotente (`CREATE EXTENSION IF NOT EXISTS`,
|
|
`CREATE TABLE IF NOT EXISTS`) — rodar de novo não duplica nem apaga dados.
|
|
|
|
## 4. Conferir
|
|
|
|
```bash
|
|
psql -h 127.0.0.1 -p 55435 -U rag_admin -d rag_doza -c '\dx' -c '\dt doza.*'
|
|
```
|
|
|
|
Deve listar as extensões `vector` e `pg_trgm`, e a tabela `doza.code_chunks`.
|
|
|
|
## 5. Configurar o código do projeto
|
|
|
|
Copiar `.env.example` para `.env` (fora do git) e preencher com os valores
|
|
reais do túnel/credenciais — ver `admin/VPS-ACCESS.md`.
|
|
|
|
## Evoluir o schema (banco que já existe)
|
|
|
|
Não edite `schema.sql`/`schema-tigre.sql` esperando que sejam reaplicados —
|
|
eles descrevem o estado final, para bancos novos. Num banco existente, crie
|
|
uma migration numerada em `migrations/` e aplique:
|
|
|
|
```bash
|
|
rag/migrate_tigre.sh # a mais recente
|
|
rag/migrate_tigre.sh rag/migrations/003-outra.sql # uma específica
|
|
```
|
|
|
|
O script resolve a senha do `rag_admin` dentro da VPS — ela não passa pelo
|
|
shell local. Depois de qualquer migration que mexa em como o embedding é
|
|
gerado, reindexe com `rag/index_tigre.sh --full`, senão vetores de regimes
|
|
diferentes convivem no mesmo índice.
|
|
|
|
## Resetar do zero (se precisar)
|
|
|
|
```bash
|
|
psql -h 127.0.0.1 -p 55435 -U rag_admin -d postgres \
|
|
-c "DROP DATABASE rag_doza;" \
|
|
-c "CREATE DATABASE rag_doza OWNER rag_admin;"
|
|
psql -h 127.0.0.1 -p 55435 -U rag_admin -d rag_doza -f rag/schema.sql
|
|
```
|
|
|
|
⚠️ Isso apaga todo o índice/embeddings já gerados deste projeto — só é RAG
|
|
de apoio ao desenvolvimento, então é seguro recriar e reindexar do zero
|
|
quando fizer sentido (ex: mudança grande na estrutura do repo).
|