import path from 'path'; import type { Core } from '@strapi/strapi'; import { isDatabaseClientKind } from '@strapi/database'; const config = ({ env }: Core.Config.Shared.ConfigParams): Core.Config.Database => { const client = env('DATABASE_CLIENT', 'postgres'); const connections = { postgres: { client: 'postgres', connection: { host: env('DATABASE_HOST', '127.0.0.1'), port: env.int('DATABASE_PORT', 5432), database: env('DATABASE_NAME', 'strapi'), user: env('DATABASE_USERNAME', 'strapi'), password: env('DATABASE_PASSWORD', 'strapi'), ssl: env.bool('DATABASE_SSL', false), schema: env('DATABASE_SCHEMA', 'public'), }, pool: { min: env.int('DATABASE_POOL_MIN', 2), max: env.int('DATABASE_POOL_MAX', 10) }, }, sqlite: { client: 'sqlite', connection: { filename: path.join(__dirname, '..', '..', env('DATABASE_FILENAME', '.tmp/data.db')), }, useNullAsDefault: true, }, }; return { connection: (connections[client as keyof typeof connections] || connections.postgres) as Core.Config.Database['connection'], }; }; export default config;