DUMP.md 1.18 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Créer/lancer une bdd à partir d'un dump SQL
===========================================

- Mettez le fichier de dump SQL dans le répertoire `./tmp/sql` et assurez-vous qu'il a l'extension `.sql`.

- Trouvez dans le dump le nom du user attendu :

```bash
grep -Ens "OWNER TO" ./tmp/sql/* | head -n 1
```

- Créez le sous-répertoire `./tmp/sql/admin`  et copiez-y le script de création de la bdd :

```bash
mkdir -p ./tmp/sql/admin
cp ./docker/sql/admin/01_create_db_user.sql ./tmp/sql/admin/
```

- Lancer le container en adaptant `--env SYGAL_USER=ad_sygal` au user trouvé précédemment :

```bash
docker run \
--rm \
--env POSTGRES_USER=postgres \
--env POSTGRES_PASSWORD=admin \
--env SYGAL_DB=sygal \
--env SYGAL_USER=ad_sygal \
--env SYGAL_PASSWORD=azerty \
--publish 5432:5432 \
--volume $PWD/tmp/sql/:/sql \
--volume $PWD/tmp/db:/var/lib/postgresql/data \
sygal-db-image
```

Au 1er lancement, si aucune bdd n'est déjà persistée dans le répertoire `./tmp/db`, les scripts SQL sont exécutés : 
la bdd est créée.
Aux lancements suivants, la bdd existe dans le répertoire donc les scripts ne sont pas exécutés.
Pour que la bdd soit re-créée, il faut supprimer le répertoire `./tmp/db`.