summaryrefslogtreecommitdiff
path: root/playground/config/database.ts
diff options
context:
space:
mode:
Diffstat (limited to 'playground/config/database.ts')
-rw-r--r--playground/config/database.ts60
1 files changed, 60 insertions, 0 deletions
diff --git a/playground/config/database.ts b/playground/config/database.ts
new file mode 100644
index 0000000..1853ca4
--- /dev/null
+++ b/playground/config/database.ts
@@ -0,0 +1,60 @@
+import path from 'path';
+
+export default ({ env }) => {
+ const client = env('DATABASE_CLIENT', 'sqlite');
+
+ const connections = {
+ mysql: {
+ 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),
+ },
+ };
+};