61 lines
2.1 KiB
JavaScript
Raw Normal View History

2022-08-26 15:54:01 +02:00
const path = require('path');
module.exports = ({ env }) => {
2022-09-08 08:14:11 +02:00
const client = env('DATABASE_CLIENT', 'sqlite');
2022-08-26 15:54:01 +02:00
2022-09-08 08:14:11 +02:00
const connections = {
mysql: {
2023-03-22 12:11:15 +01:00
connection: {
host: env('DATABASE_HOST', 'localhost'),
port: env.int('DATABASE_PORT', 3306),
2022-09-08 08:14:11 +02:00
database: env('DATABASE_NAME', 'strapi'),
user: env('DATABASE_USERNAME', 'strapi'),
password: env('DATABASE_PASSWORD', 'strapi'),
ssl: env.bool('DATABASE_SSL', false) && {
2022-08-26 15:54:01 +02:00
key: env('DATABASE_SSL_KEY', undefined),
cert: env('DATABASE_SSL_CERT', undefined),
ca: env('DATABASE_SSL_CA', undefined),
capath: env('DATABASE_SSL_CAPATH', undefined),
cipher: env('DATABASE_SSL_CIPHER', undefined),
rejectUnauthorized: env.bool('DATABASE_SSL_REJECT_UNAUTHORIZED', true),
2022-08-26 15:54:01 +02:00
},
2022-09-08 08:14:11 +02:00
},
2022-09-08 08:49:21 +02:00
pool: { min: env.int('DATABASE_POOL_MIN', 2), max: env.int('DATABASE_POOL_MAX', 10) },
2022-09-08 08:14:11 +02:00
},
postgres: {
connection: {
connectionString: env('DATABASE_URL'),
host: env('DATABASE_HOST', 'localhost'),
port: env.int('DATABASE_PORT', 5432),
2022-09-08 08:14:11 +02:00
database: env('DATABASE_NAME', 'strapi'),
user: env('DATABASE_USERNAME', 'strapi'),
password: env('DATABASE_PASSWORD', 'strapi'),
ssl: env.bool('DATABASE_SSL', false) && {
2022-08-26 15:54:01 +02:00
key: env('DATABASE_SSL_KEY', undefined),
cert: env('DATABASE_SSL_CERT', undefined),
ca: env('DATABASE_SSL_CA', undefined),
capath: env('DATABASE_SSL_CAPATH', undefined),
cipher: env('DATABASE_SSL_CIPHER', undefined),
rejectUnauthorized: env.bool('DATABASE_SSL_REJECT_UNAUTHORIZED', true),
2022-08-26 15:54:01 +02:00
},
2022-09-08 08:14:11 +02:00
schema: env('DATABASE_SCHEMA', 'public'),
},
2022-09-08 08:49:21 +02:00
pool: { min: env.int('DATABASE_POOL_MIN', 2), max: env.int('DATABASE_POOL_MAX', 10) },
2022-09-08 08:14:11 +02:00
},
sqlite: {
connection: {
filename: path.join(__dirname, '..', env('DATABASE_FILENAME', '.tmp/data.db')),
2022-09-08 08:14:11 +02:00
},
useNullAsDefault: true,
},
};
2022-08-26 15:54:01 +02:00
2022-09-08 08:14:11 +02:00
return {
2022-08-26 15:54:01 +02:00
connection: {
client,
2022-08-31 14:20:27 +02:00
...connections[client],
2022-09-08 08:14:11 +02:00
acquireConnectionTimeout: env.int('DATABASE_CONNECTION_TIMEOUT', 60000),
2022-08-26 15:54:01 +02:00
},
2022-09-08 08:14:11 +02:00
};
};