Skip to content

Migration de la base de donnée

Votre back office fonctionne par défaut avec une base de donnée SQLite. Cette base de donnée est suffisante pour des applications de petite à moyenne taille, mais si vous anticipez un fort trafic sur votre back office, alors il est conseillé de migrer vers une base de donnée PostgreSQL.

Nouveau fichier docker compose

Afin d'ajouter PostgreSQL à votre stack docker, nous reprenons le fichier docker-compose.yml proposé dans le guide de démarrage et nous y rajoutons un service postgres. Nous spécifions également une nouvelle variable d'environnement DATABASE_URL.

yaml
name: back-office
services:
  postgres:
    image: postgres:latest
    ports:
      - 5432:5432
    volumes:
      - postgres:/var/lib/postgresql
    environment:
      POSTGRES_HOST_AUTH_METHOD: trust
  web:
    image: backofficeapp/back-office:latest
    ports:
      - 3000:3000
    volumes:
      - credentials:/back-office/config/credentials
      - storage:/back-office/storage
      - clamav:/var/lib/clamav
    depends_on:
      - postgres
    environment:
      - DATABASE_URL=postgres://postgres@postgres
volumes:
  postgres:
  credentials:
  storage:
  clamav:

Après avoir renseigné le fichier docker-compose.yml, nous relançons la commande de création des conteneurs :

shell
docker compose up --build

Commande de migration

Une fois le service postgres disponible dans votre environnement docker, il ne vous reste plus qu'à lancer la commande de migration de la base de donnée. Pour ce faire, lancez cette commande :

shell
docker exec -it back-office-web sh -c "bin/postgres"