Skip to content
Snippets Groups Projects
Commit a2d97330 authored by Francois Romain's avatar Francois Romain
Browse files

build: met à jour le script bim pour importer le dernier backup de base de données

parent 4bbfd586
No related branches found
No related tags found
No related merge requests found
......@@ -35,7 +35,9 @@
---
## Configuration et imports des données
## Utilisation
### Configuration et imports des données
- Cloner ce repo : `git clone https://github.com/MTES-MCT/camino-api.git`.
- Renommer le fichier `.env-example` en `.env` et le compléter.
......@@ -72,14 +74,18 @@ npm run build
npm run start
```
## Tests unitaires
---
## Tests
### Tests unitaires
```sh
# lance les tests en local
npm run test:jest
```
## Tests de bout-en-bout
### Tests de bout-en-bout
Ces tests sont lancés depuis `camino-ui` avec la commande `npm run test:cypress`.
......@@ -98,7 +104,11 @@ npm run test:cypress
npm run dev
```
## Récupérer la base de données de production
---
## Utilitaires
### Récupérer la base de données de production
Pré-requis: avoir un utilisateur se connectant en SSH sur le serveur de production.
......@@ -109,7 +119,7 @@ Pré-requis: avoir un utilisateur se connectant en SSH sur le serveur de product
u=votre-nom-d-utilisateur npm run db:prod-fetch
```
## Exporter la base de données publique vers le serveur de test
### Exporter la base de données publique vers le serveur de test
Pré-requis: avoir un utilisateur se connectant en SSH sur le serveur de test.
......@@ -122,6 +132,12 @@ u=votre-nom-d-utilisateur npm run db:test-push
---
## Documentation
La documentation [est disponible ici](https://github.com/MTES-MCT/camino-api/tree/master/manual).
---
## Structure des fichiers
```bash
......
......@@ -3,18 +3,18 @@
## Sauvegarde
```sh
# exécutable de sauvegarde
# sauvegarde la base de données et les fichiers (exécutable)
/srv/scripts/backup
```
- écrase le fichier `/srv/backups/camino.sql` avec un export de la base de données
- écrase le dossier `/srv/backups/files` avec les fichiers
- ajoute une archive nommée `yyyymmdd_hhMMss.tar.gz` contenant les deux dossiers ci-dessus
- ajoute une archive nommée `yyyymmdd_hhMMss-camino.tar.gz` contenant les deux dossiers ci-dessus
## Restauration
```sh
# exécutable de sauvegarde
# restaure la base de données et les fichiers (exécutable)
/srv/scripts/restore
```
......
......@@ -42,7 +42,7 @@ Créer un fichier `/srv/scripts/backups-archive` contenant:
# backups-archive
# cree une archive a partir du dossier `files` et du fichier `camino.sql`
tar -zcvf /srv/backups/`date +%Y%m%d"_"%H%M%S`.tar.gz /srv/backups/files/* /srv/backups/camino.sql
tar -zcvf /srv/backups/`date +%Y%m%d"_"%H%M%S`-camino.tar.gz /srv/backups/files/* /srv/backups/camino.sql
```
......
# Fichiers
## En local, envoyer les fichiers pdf (files) vers le serveur
## En local
### Envoyer les fichiers pdf (files) vers le serveur
```sh
# crée une archive
......@@ -10,22 +12,16 @@ tar -zcvf files.tar.gz files/*
scp -r files.tar.gz <user>@<ip>:/srv/tmp
```
## En local, récupérer les fichiers sur le serveur
### Récupérer les fichiers sur le serveur
```sh
# récupère les fichiers sur le serveur
scp -r <user>@<ip>:/srv/tmp/files/* files
```
```bash
# crée une archive
tar -zcvf files.tar.gz files/*
# envoie l'archive vers le serveur
scp -r files.tar.gz <user>@<ip>:/srv/tmp
```
## Sur le serveur
## Copier les fichiers depuis le volume
### Copier les fichiers depuis le volume
```bash
docker cp camino-api_app_1:/app/files/. /srv/tmp/files/
......
......@@ -15,7 +15,7 @@
"homepage": "https://github.com/MTES-MCT/camino-api",
"main": "index.js",
"scripts": {
"bim": "npm run build && npm run import && npm run migrate && npm run monthly && npm run daily",
"bim": "npm i && npm run build && npm run db:recreate && npm run db:import && npm run monthly && npm run daily",
"build": "rm -rf dist && npx tsc && cp -r ./src/api/schemas ./dist/api",
"commit": "npx git-cz",
"daily": "node ./dist/business/daily.js",
......@@ -25,6 +25,7 @@
"db:test-push": "npm run db:dump-public && scp backups/camino-public.sql $u@api.test.camino.beta.gouv.fr:/srv/backups/camino.sql",
"db:import": "psql --dbname=camino --username=postgres --host=localhost < ./backups/camino.sql",
"db:import-public": "psql --dbname=camino --username=postgres --host=localhost < ./backups/camino-public.sql",
"db:recreate": "dropdb --username=postgres --host=localhost camino && createdb --username=postgres --host=localhost camino",
"db:user": "node ./knex/user-add.js",
"dev": "nodemon",
"dev:daily": "ts-node --transpile-only ./src/business/daily.ts",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment