- docker-compose.dev.yml à la racine : PG 16, Redis 7, MinIO + bucket auto, Mailhog. Ports décalés (5433, 6380, 9100…) pour éviter les collisions locales. - apps/api/config/database.ts : Postgres en default, SQLite reste accessible via DB_CONNECTION=sqlite. - start/env.ts : validation des nouvelles vars (PG, Redis, S3, Mail, OCR, refresh tokens). - .env.example complété, scripts pnpm dev:up/down/logs/reset à la racine. - docs/tech/dev-setup.md pour expliquer la stack locale.
52 lines
1.2 KiB
TypeScript
52 lines
1.2 KiB
TypeScript
import app from '@adonisjs/core/services/app'
|
|
import { defineConfig } from '@adonisjs/lucid'
|
|
import env from '#start/env'
|
|
|
|
const dbConfig = defineConfig({
|
|
/**
|
|
* Postgres en dev/prod. SQLite reste accessible via DB_CONNECTION=sqlite
|
|
* pour les tests rapides ou un usage offline.
|
|
*/
|
|
connection: env.get('DB_CONNECTION', 'postgres'),
|
|
|
|
connections: {
|
|
postgres: {
|
|
client: 'pg',
|
|
connection: {
|
|
host: env.get('PG_HOST'),
|
|
port: env.get('PG_PORT'),
|
|
user: env.get('PG_USER'),
|
|
password: env.get('PG_PASSWORD'),
|
|
database: env.get('PG_DB_NAME'),
|
|
},
|
|
migrations: {
|
|
naturalSort: true,
|
|
paths: ['database/migrations'],
|
|
},
|
|
schemaGeneration: {
|
|
enabled: true,
|
|
rulesPaths: ['./database/schema_rules.js'],
|
|
},
|
|
debug: app.inDev,
|
|
},
|
|
|
|
sqlite: {
|
|
client: 'better-sqlite3',
|
|
connection: {
|
|
filename: app.tmpPath('db.sqlite3'),
|
|
},
|
|
useNullAsDefault: true,
|
|
migrations: {
|
|
naturalSort: true,
|
|
paths: ['database/migrations'],
|
|
},
|
|
schemaGeneration: {
|
|
enabled: true,
|
|
rulesPaths: ['./database/schema_rules.js'],
|
|
},
|
|
},
|
|
},
|
|
})
|
|
|
|
export default dbConfig
|