mirror of
https://github.com/simstudioai/sim.git
synced 2026-04-06 03:00:16 -04:00
fix(db): added database config to drizzle.config in app container (#1536)
This commit is contained in:
@@ -1,11 +1,44 @@
|
||||
import type { Config } from 'drizzle-kit'
|
||||
import { env } from './lib/env'
|
||||
|
||||
const getSSLConfig = () => {
|
||||
const sslMode = env.DATABASE_SSL?.toLowerCase()
|
||||
|
||||
if (!sslMode || sslMode === 'disable') {
|
||||
return undefined
|
||||
}
|
||||
|
||||
if (sslMode === 'prefer') {
|
||||
return 'prefer' as const
|
||||
}
|
||||
|
||||
const sslConfig: any = {}
|
||||
|
||||
if (sslMode === 'require') {
|
||||
sslConfig.rejectUnauthorized = false
|
||||
} else if (sslMode === 'verify-ca' || sslMode === 'verify-full') {
|
||||
sslConfig.rejectUnauthorized = true
|
||||
if (env.DATABASE_SSL_CA) {
|
||||
try {
|
||||
const ca = Buffer.from(env.DATABASE_SSL_CA, 'base64').toString('utf-8')
|
||||
sslConfig.ca = ca
|
||||
} catch (error) {
|
||||
console.error('Failed to parse DATABASE_SSL_CA:', error)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return sslConfig
|
||||
}
|
||||
|
||||
const sslConfig = getSSLConfig()
|
||||
|
||||
export default {
|
||||
schema: '../../packages/db/schema.ts',
|
||||
out: '../../packages/db/migrations',
|
||||
dialect: 'postgresql',
|
||||
dbCredentials: {
|
||||
url: env.DATABASE_URL,
|
||||
...(sslConfig !== undefined && { ssl: sslConfig }),
|
||||
},
|
||||
} satisfies Config
|
||||
|
||||
Reference in New Issue
Block a user