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'
22import { env } from './lib/env'
33
4+ const getSSLConfig = ( ) => {
5+ const sslMode = env . DATABASE_SSL ?. toLowerCase ( )
6+
7+ if ( ! sslMode || sslMode === 'disable' ) {
8+ return undefined
9+ }
10+
11+ if ( sslMode === 'prefer' ) {
12+ return 'prefer' as const
13+ }
14+
15+ const sslConfig : any = { }
16+
17+ if ( sslMode === 'require' ) {
18+ sslConfig . rejectUnauthorized = false
19+ } else if ( sslMode === 'verify-ca' || sslMode === 'verify-full' ) {
20+ sslConfig . rejectUnauthorized = true
21+ if ( env . DATABASE_SSL_CA ) {
22+ try {
23+ const ca = Buffer . from ( env . DATABASE_SSL_CA , 'base64' ) . toString ( 'utf-8' )
24+ sslConfig . ca = ca
25+ } catch ( error ) {
26+ console . error ( 'Failed to parse DATABASE_SSL_CA:' , error )
27+ }
28+ }
29+ }
30+
31+ return sslConfig
32+ }
33+
34+ const sslConfig = getSSLConfig ( )
35+
436export default {
537 schema : '../../packages/db/schema.ts' ,
638 out : '../../packages/db/migrations' ,
739 dialect : 'postgresql' ,
840 dbCredentials : {
941 url : env . DATABASE_URL ,
42+ ...( sslConfig !== undefined && { ssl : sslConfig } ) ,
1043 } ,
1144} satisfies Config
You can’t perform that action at this time.
0 commit comments