From 7e5ae534db98ce103ad07e98aba1d8866513af40 Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Wed, 21 Jul 2021 04:31:35 -0400 Subject: [PATCH] [ADD] doc: Migration docker postgresql --- Makefile | 4 +++ doc/MIGRATION.md | 38 +++++++++++++++++++++++++++ script/docker/docker_list_database.sh | 9 +++++++ 3 files changed, 51 insertions(+) create mode 100644 doc/MIGRATION.md create mode 100755 script/docker/docker_list_database.sh diff --git a/Makefile b/Makefile index 2aed7e6..c98e16d 100644 --- a/Makefile +++ b/Makefile @@ -369,6 +369,10 @@ docker_stop: .PHONY: docker_restart_daemon docker_restart_daemon: docker_stop docker_run_daemon +.PHONY: docker_show_databases +docker_show_databases: + ./script/docker/docker_list_database.sh + .PHONY: docker_show_logs_live docker_show_logs_live: docker-compose logs -f diff --git a/doc/MIGRATION.md b/doc/MIGRATION.md new file mode 100644 index 0000000..2449c36 --- /dev/null +++ b/doc/MIGRATION.md @@ -0,0 +1,38 @@ +# Migration + +Guide to help migration with different version. + +## Docker + +- Clone project if only download docker-compose + - `git init` + - `git remote add origin https://github.com/erplibre/erplibre` + - `git fetch` + - `mv ./docker-compose.yml /tmp/temp_docker-compose.yml` + - `git checkout master` + - `mv /tmp/temp_docker-compose.yml ./docker-compose.yml` +- Do manually a backup of ERPLibre database (TODO implement makefile command) +- Update `./docker-compose.yml` depending of difference with git. +- Run script `make docker_exec_erplibre_gen_config` +- Stop the docker `make docker_stop` +- Delete the volume, `docker volume rm ${BASENAME}_erplibre-db-data` +- Start the docker `make docker_run_daemon` +- Restore the backup manually. + +### Database migration, PostgreSQL update 11 to 12 + +TODO not working automatically, check last procedure and do it manually. The command to the docker is missing support when database is external. + +Easy way, do a backup with ERPLibre, upgrade Postgresql, restore the same backup. + +List all database : + +```bash +make docker_show_databases +``` + +## Vanilla + +- Run script `make install_dev` +- Restart your daemon +- Regenerate master password manually diff --git a/script/docker/docker_list_database.sh b/script/docker/docker_list_database.sh new file mode 100755 index 0000000..2e402db --- /dev/null +++ b/script/docker/docker_list_database.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +CURRENT=$(pwd) +BASENAME=$(basename "${CURRENT}") + +docker exec -u root -ti ${BASENAME}_ERPLibre_1 /bin/bash -c "\ +cd /ERPLibre; \ +time make db_list; \ +"