import { readFileSync } from 'node:fs'; import { isAbsolute, resolve } from 'node:path'; import { config } from 'dotenv'; import { defineConfig } from 'drizzle-kit'; config({ path: '../../.env' }); /** * Same CA rule as src/client.ts, restated because drizzle-kit runs this file on * its own and cannot import from the package it is generating for. */ const caEnv = process.env.DATABASE_CA_CERT; const ca = caEnv ? caEnv.includes('BEGIN CERTIFICATE') ? caEnv : readFileSync(isAbsolute(caEnv) ? caEnv : resolve(process.cwd(), caEnv), 'utf8') : undefined; export default defineConfig({ schema: './src/schema/index.ts', out: './drizzle', dialect: 'postgresql', dbCredentials: { url: process.env.DATABASE_URL!, ...(ca ? { ssl: { ca, rejectUnauthorized: true } } : {}), }, verbose: true, strict: true, });