37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
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;
|