File tree Expand file tree Collapse file tree 1 file changed +33
-0
lines changed
Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change 11import type { Config } from 'drizzle-kit'
22
3+ const getSSLConfig = ( ) => {
4+ const sslMode = process . env . DATABASE_SSL ?. toLowerCase ( )
5+
6+ if ( ! sslMode || sslMode === 'disable' ) {
7+ return undefined
8+ }
9+
10+ if ( sslMode === 'prefer' ) {
11+ return 'prefer' as const
12+ }
13+
14+ const sslConfig : any = { }
15+
16+ if ( sslMode === 'require' ) {
17+ sslConfig . rejectUnauthorized = false
18+ } else if ( sslMode === 'verify-ca' || sslMode === 'verify-full' ) {
19+ sslConfig . rejectUnauthorized = true
20+ if ( process . env . DATABASE_SSL_CA ) {
21+ try {
22+ const ca = Buffer . from ( process . env . DATABASE_SSL_CA , 'base64' ) . toString ( 'utf-8' )
23+ sslConfig . ca = ca
24+ } catch ( error ) {
25+ console . error ( 'Failed to parse DATABASE_SSL_CA:' , error )
26+ }
27+ }
28+ }
29+
30+ return sslConfig
31+ }
32+
33+ const sslConfig = getSSLConfig ( )
34+
335export default {
436 schema : './schema.ts' ,
537 out : './migrations' ,
638 dialect : 'postgresql' ,
739 dbCredentials : {
840 url : process . env . DATABASE_URL ! ,
41+ ...( sslConfig !== undefined && { ssl : sslConfig } ) ,
942 } ,
1043} satisfies Config
You can’t perform that action at this time.
0 commit comments