fix(scripts): ladda .env i translate/publish-skripten (annars saknades DATABASE_URL)

De fristandiga skripten laste bara process.env och kunde inte hitta DATABASE_URL
(till skillnad fran worker/seed som laddar .env). Lade till samma dotenv-sokning
(.env / ../.env / ../../.env) sa de funkar med  utan att man
exporterar variabler manuellt. Verifierat: bada kor nu utan export och laser .env.
This commit is contained in:
Claude
2026-08-20 19:27:14 +00:00
parent 16fb29cc12
commit 5974e8740f
2 changed files with 26 additions and 0 deletions
@@ -10,9 +10,22 @@
*
* Kräver DATABASE_URL i miljön.
*/
import { config as loadDotenv } from "dotenv";
import { existsSync } from "node:fs";
import path from "node:path";
import { and, eq, sql } from "drizzle-orm";
import { createDatabase, schema } from "@app/database";
// Ladda .env (samma sökning som worker/seed) så DATABASE_URL finns även när
// skriptet körs fristående via `pnpm exec tsx`.
for (const candidate of [".env", "../.env", "../../.env"]) {
const p = path.resolve(process.cwd(), candidate);
if (existsSync(p)) {
loadDotenv({ path: p });
break;
}
}
async function main() {
if (!process.env.DATABASE_URL) throw new Error("Sätt DATABASE_URL.");
const arg = (process.argv[2] ?? "all").toLowerCase();
+13
View File
@@ -14,12 +14,25 @@
*
* Kräver DATABASE_URL och REDIS_URL i miljön (samma som API/worker använder).
*/
import { config as loadDotenv } from "dotenv";
import { existsSync } from "node:fs";
import path from "node:path";
import IORedis from "ioredis";
import { Queue } from "bullmq";
import { eq } from "drizzle-orm";
import { createDatabase, schema } from "@app/database";
import { JOB_QUEUE_NAME } from "@app/shared-types";
// Ladda .env (samma sökning som worker/seed) så DATABASE_URL/REDIS_URL finns
// även när skriptet körs fristående via `pnpm exec tsx`.
for (const candidate of [".env", "../.env", "../../.env"]) {
const p = path.resolve(process.cwd(), candidate);
if (existsSync(p)) {
loadDotenv({ path: p });
break;
}
}
const LANGS = ["en", "da", "de", "es", "fi", "fr", "it", "nb", "nl", "pl", "pt"];
async function main() {