diff options
| author | Valentin Popov <valentin@popov.link> | 2026-02-05 13:19:56 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-02-05 13:19:56 +0300 |
| commit | efa89313fa4152252b477aafd88f7cf4a66747d8 (patch) | |
| tree | 5939b251fe1bbc6bea3881a71154cabd3aa538ec /playground/config/database.ts | |
| parent | f6de8611955bf382612996500efba21a2d64ea1f (diff) | |
| download | strapi-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.ts | 60 |
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), + }, + }; +}; |
