Docker-compose, postgresql initial schema

System Information
  • Strapi Version: 3.6.5
  • Database: Postgresql
  • Node Version: 14.17.2

Hello everyone,

I’m trying to run Strapi and Postgresql with docker-compose and I want set initial schema name from .env file. I have below configurations for that.

.env

NODE_ENV=development
DATABASE_CLIENT=postgres
DATABASE_HOST=postgres
DATABASE_PORT=5432
DATABASE_NAME=strapi
DATABASE_USERNAME=strapi
DATABASE_PASSWORD=strapi
DATABASE_SSL=false
DATABASE_SCHEMA=strapi_schema

database.js

client: env('DATABASE_CLIENT', 'postgres'),
host: env('DATABASE_HOST', 'postgres'),
port: env.int('DATABASE_PORT', 5432),
database: env('DATABASE_NAME', 'strapi'),
username: env('DATABASE_USERNAME', 'strapi'),
password: env('DATABASE_PASSWORD', 'strapi'),
schema: env('DATABASE_SCHEMA', 'initial'),
ssl: env.bool('DATABASE_SSL', false),

docker-compose.yml
For strapi container;

environment:
      NODE_ENV: ${NODE_ENV}
      DATABASE_CLIENT: ${DATABASE_CLIENT}
      DATABASE_HOST: ${DATABASE_HOST}
      DATABASE_PORT: ${DATABASE_PORT}
      DATABASE_NAME: ${DATABASE_NAME}
      DATABASE_USERNAME: ${DATABASE_USERNAME}
      DATABASE_PASSWORD: ${DATABASE_PASSWORD}
      DATABASE_SCHEMA: ${DATABASE_SCHEMA}
      DATABASE_SSL: ${DATABASE_SSL}

for postgre container;

environment:
      POSTGRES_USER: ${DATABASE_USERNAME}
      POSTGRES_PASSWORD: ${DATABASE_PASSWORD}
      POSTGRES_DB: ${DATABASE_NAME}
      PGDATA: ./data:/var/lib/postgresql/data/pgdata

So when I try to build and run the containers, I facing no schema has been selected to create in issue.
If I remove schema option from database.js, it creates tables into public schema without problem but I can not get what I want. So, is there any advice or example for that? Thanks in advance!