summaryrefslogtreecommitdiff
path: root/playground/config/database.ts
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-02-05 13:19:56 +0300
committerValentin Popov <valentin@popov.link>2026-02-05 13:19:56 +0300
commitefa89313fa4152252b477aafd88f7cf4a66747d8 (patch)
tree5939b251fe1bbc6bea3881a71154cabd3aa538ec /playground/config/database.ts
parentf6de8611955bf382612996500efba21a2d64ea1f (diff)
downloadstrapi-plugin-checkbox-list-efa89313fa4152252b477aafd88f7cf4a66747d8.tar.xz
strapi-plugin-checkbox-list-efa89313fa4152252b477aafd88f7cf4a66747d8.zip
Initial Strapi plugin project
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),
+ },
+ };
+};