Skip to content

Migrazione del database

Il vostro back office funziona per impostazione predefinita con un database SQLite. Questo database è sufficiente per applicazioni di piccole e medie dimensioni, ma se prevedete un elevato traffico sul vostro back office, è consigliabile migrare a un database PostgreSQL.

Nuovo file docker compose

Per aggiungere PostgreSQL alla vostra stack docker, riprendiamo il file docker-compose.yml proposto nella guida introduttiva e vi aggiungiamo un servizio postgres. Specifichiamo inoltre una nuova variabile d'ambiente 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:

Dopo aver completato il file docker-compose.yml, procediamo a rieseguire il comando per la creazione dei contenitori:

shell
docker compose up --build

Comando di migrazione

Una volta che il servizio postgres è disponibile nel vostro ambiente docker, non resta che eseguire il comando di migrazione del database. A tal fine, eseguite il seguente comando:

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