36 lines
1.1 KiB
Markdown
36 lines
1.1 KiB
Markdown
# Migration DB (manuel)
|
|
|
|
Ce guide explique comment importer un dump SQL venant de pgAdmin dans la base Docker.
|
|
|
|
## 1) Export pgAdmin
|
|
|
|
Dans pgAdmin:
|
|
|
|
- Format: Plain
|
|
- Options: Use INSERT commands + Use column inserts
|
|
- Fichier: `data.sql`
|
|
|
|
## 2) Normaliser le dump
|
|
|
|
Convertit les colonnes camelCase en lowercase compact.
|
|
|
|
```bash
|
|
python3 scripts/normalize-dump.py data.sql data_norm.sql --lower
|
|
```
|
|
|
|
## 3) Importer dans la base Docker
|
|
|
|
Utilise `session_replication_role` pour eviter les erreurs de contraintes circulaires.
|
|
|
|
```bash
|
|
docker compose --env-file docker/.env.docker.local exec -T db psql -U root -d inventory -v ON_ERROR_STOP=1 -c "SET session_replication_role = replica;"
|
|
docker compose --env-file docker/.env.docker.local exec -T db psql -U root -d inventory -v ON_ERROR_STOP=1 < data_norm.sql
|
|
docker compose --env-file docker/.env.docker.local exec -T db psql -U root -d inventory -v ON_ERROR_STOP=1 -c "SET session_replication_role = DEFAULT;"
|
|
```
|
|
|
|
## 4) Verifier
|
|
|
|
```bash
|
|
docker compose --env-file docker/.env.docker.local exec -T db psql -U $POSTGRES_USER -d $POSTGRES_DB -c "\\dt"
|
|
```
|