rubis/apps/api/config/database.ts
ordinarthur 4a6c778e7c chore(api): docker-compose dev (PG/Redis/MinIO/Mailhog) + bascule sur Postgres
- 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.
2026-05-06 12:57:42 +02:00

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