Objetivo: gerar um arquivo
seed.sql
que inicializa o banco com esquema, usuário de aplicação e permissões de aplicação. Observação: os itens “usuário” e “permissões” abaixo referem-se às tabelas da aplicação (ex.:user_system
,permissions
), não a roles do PostgreSQL.
postgres.c3sl.ufpr.br
com o usuário ademir
.database/
.Renomeie o seed atual para manter como backup.
mv database/seed.sql database/seed_$(date +%Y%m%d_%H%M%S).sql
Na raiz do projeto, execute:
pg_dump -h postgres.c3sl.ufpr.br -U ademir -d ademir --schema-only > database/seed.sql
Quando solicitado, insira a senha do banco.
Dica: para evitar prompt interativo, você pode usar
PGPASSWORD=suasenha pg_dump ...
.
docker compose up postgres -d
docker exec -it ademir-db psql -U ademir -d ademir
permissions
INSERT INTO permissions (name, "createdAt", "updatedAt")
SELECT 'admin', NOW(), NOW()
WHERE NOT EXISTS (
SELECT 1 FROM permissions WHERE name = 'admin'
);
INSERT INTO permissions (name, "createdAt", "updatedAt")
SELECT 'common', NOW(), NOW()
WHERE NOT EXISTS (
SELECT 1 FROM permissions WHERE name = 'common'
);
INSERT INTO permissions (name, "createdAt", "updatedAt")
SELECT 'manager', NOW(), NOW()
WHERE NOT EXISTS (
SELECT 1 FROM permissions WHERE name = 'manager'
);
admin
INSERT INTO user_system (
name,
email,
password,
is_active,
"isEmailVerified",
register_date,
verification_date,
last_login
) VALUES (
'admin',
'admin@mail.com',
'mudar123*', -- ⚠️ idealmente armazenar com hash
TRUE,
TRUE,
NOW(),
NOW(),
NOW()
);
seed.sql
com dadosAinda na raiz do projeto, execute:
docker exec -it ademir-db pg_dump -U ademir -d ademir > database/seed.sql