IKHSAN
EN Read in EnglishID

homeio

Publik

Fork dari doctor-io/homeio

Branch
main
Commit terakhir
958d74616 Oktober 2026

drizzle.config.ts

Buka raw
import type { Config } from "drizzle-kit";
import fs from "node:fs";
import path from "node:path";
import { parseEnvFileContent } from "./lib/shared/env-file";

const DEFAULT_DATABASE_URL =
  "postgresql://postgres:postgres@127.0.0.1:5432/home_server";

function readDatabaseUrlFromEnvFile(filePath: string) {
  if (!fs.existsSync(filePath)) return null;

  const env = parseEnvFileContent(fs.readFileSync(filePath, "utf8"));
  return env.DATABASE_URL || null;
}

function resolveDatabaseUrl() {
  if (process.env.DATABASE_URL) return process.env.DATABASE_URL;

  const cwd = process.cwd();
  const envCandidates = [".env.local", ".env"];
  for (const envFile of envCandidates) {
    const resolved = readDatabaseUrlFromEnvFile(path.join(cwd, envFile));
    if (resolved) return resolved;
  }

  return DEFAULT_DATABASE_URL;
}

export default {
  schema: "./lib/server/db/schema.ts",
  out: "./drizzle",
  dialect: "postgresql",
  schemaFilter: ["public"],
  dbCredentials: {
    url: resolveDatabaseUrl(),
  },
} satisfies Config;
byte
1.032
baris
38
Jenis
ts
Commit terakhir
16 Oktober 2026