You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
3.1 KiB
JavaScript
93 lines
3.1 KiB
JavaScript
5 months ago
|
const path = require('path');
|
||
|
|
||
|
module.exports = ({ env }) => {
|
||
|
const client = env('DATABASE_CLIENT', 'sqlite');
|
||
|
|
||
|
const connections = {
|
||
|
mysql: {
|
||
|
connection: {
|
||
|
connectionString: env('DATABASE_URL'),
|
||
|
host: env('DATABASE_HOST', 'localhost'),
|
||
|
port: env.int('DATABASE_PORT', 3306),
|
||
|
database: env('DATABASE_NAME', 'strapi'),
|
||
|
user: env('DATABASE_USERNAME', 'strapi'),
|
||
|
password: env('DATABASE_PASSWORD', 'strapi'),
|
||
|
ssl: env.bool('DATABASE_SSL', false) && {
|
||
|
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
|
||
|
),
|
||
|
},
|
||
|
},
|
||
|
pool: { min: env.int('DATABASE_POOL_MIN', 2), max: env.int('DATABASE_POOL_MAX', 10) },
|
||
|
},
|
||
|
mysql2: {
|
||
|
connection: {
|
||
|
host: env('DATABASE_HOST', 'localhost'),
|
||
|
port: env.int('DATABASE_PORT', 3306),
|
||
|
database: env('DATABASE_NAME', 'strapi'),
|
||
|
user: env('DATABASE_USERNAME', 'strapi'),
|
||
|
password: env('DATABASE_PASSWORD', 'strapi'),
|
||
|
ssl: env.bool('DATABASE_SSL', false) && {
|
||
|
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
|
||
|
),
|
||
|
},
|
||
|
},
|
||
|
pool: { min: env.int('DATABASE_POOL_MIN', 2), max: env.int('DATABASE_POOL_MAX', 10) },
|
||
|
},
|
||
|
postgres: {
|
||
|
connection: {
|
||
|
connectionString: env('DATABASE_URL'),
|
||
|
host: env('DATABASE_HOST', 'localhost'),
|
||
|
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) && {
|
||
|
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
|
||
|
),
|
||
|
},
|
||
|
schema: env('DATABASE_SCHEMA', 'public'),
|
||
|
},
|
||
|
pool: { min: env.int('DATABASE_POOL_MIN', 2), max: env.int('DATABASE_POOL_MAX', 10) },
|
||
|
},
|
||
|
sqlite: {
|
||
|
connection: {
|
||
|
filename: path.join(
|
||
|
__dirname,
|
||
|
'..',
|
||
|
env('DATABASE_FILENAME', '.tmp/data.db')
|
||
|
),
|
||
|
},
|
||
|
useNullAsDefault: true,
|
||
|
},
|
||
|
};
|
||
|
|
||
|
return {
|
||
|
connection: {
|
||
|
client,
|
||
|
...connections[client],
|
||
|
acquireConnectionTimeout: env.int('DATABASE_CONNECTION_TIMEOUT', 60000),
|
||
|
},
|
||
|
};
|
||
|
};
|