IKHSAN
ENID Baca dalam Bahasa Indonesia

homeio

Public

Forked from doctor-io/homeio

Branch
main
Latest commit
958d74616 October 2026

drizzle.config.ts

Open 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;
bytes
1,032
lines
38
Type
ts
Latest commit
16 October 2026