fix(seed): tsx-Laufzeit-Imports im Katalog-Seed auf relative .js umstellen
Der Standalone-Runner `tsx src/db/seed/index.ts` (npm run db:seed) importierte Laufzeit-Module ueber den tsconfig-Pfad-Alias `@/` (`@/db/schema`, `@/lib/audit`). tsx loest `paths` nur versionsabhaengig auf (erst ab v4.20); package.json pinnt jedoch `tsx ^4.19.2`, sodass eine 4.19.x-Aufloesung mit ERR_MODULE_NOT_FOUND scheitert, bevor eine DB-Verbindung aufgebaut wird. Der Offline-Unit-Test maskierte das, weil er nur die `./data/*`-Dateien importiert und Vite den Alias aufloest. Fix: index.ts und upsert.ts nutzen jetzt relative `.js`-Imports (`../schema/index.js`, `../../lib/audit.js`, `./data/*.js`, `./upsert.js`) analog zu scripts/seed-auth.ts und scripts/migrate.ts. Damit ist die Aufloesung tsx-versionsunabhaengig und konsistent zur etablierten Konvention der uebrigen per tsx ausgefuehrten Scripts. Verifiziert offline: tsc --noEmit (0), 25 Seed-Unit-Tests gruen, und das Seed-Modul-Importgraph laedt unter `node --import tsx/esm` ohne Resolver-Fehler. Die tatsaechliche `npm run db:seed`-Ausfuehrung gegen Postgres bleibt deferred (kein Postgres/Server im Sandbox). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,10 +1,10 @@
|
|||||||
import { drizzle } from "drizzle-orm/node-postgres";
|
import { drizzle } from "drizzle-orm/node-postgres";
|
||||||
import { Pool } from "pg";
|
import { Pool } from "pg";
|
||||||
import * as schema from "@/db/schema";
|
import * as schema from "../schema/index.js";
|
||||||
import type { Tx } from "@/lib/audit";
|
import type { Tx } from "../../lib/audit.js";
|
||||||
import { MERKMALE } from "./data/merkmale";
|
import { MERKMALE } from "./data/merkmale.js";
|
||||||
import { VEHICLE_TEMPLATES } from "./data/vehicle-templates";
|
import { VEHICLE_TEMPLATES } from "./data/vehicle-templates.js";
|
||||||
import { EQUIPMENT_CATEGORIES } from "./data/equipment-categories";
|
import { EQUIPMENT_CATEGORIES } from "./data/equipment-categories.js";
|
||||||
import {
|
import {
|
||||||
upsertMerkmal,
|
upsertMerkmal,
|
||||||
upsertVehicleTemplate,
|
upsertVehicleTemplate,
|
||||||
@@ -13,7 +13,7 @@ import {
|
|||||||
upsertEquipmentCategory,
|
upsertEquipmentCategory,
|
||||||
upsertCategoryMerkmal,
|
upsertCategoryMerkmal,
|
||||||
pruneTemplateAliasse,
|
pruneTemplateAliasse,
|
||||||
} from "./upsert";
|
} from "./upsert.js";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Katalog-Seed (Workstream 9): füllt Merkmale, Enum-Optionen, Fahrzeug-Vorlagen,
|
* Katalog-Seed (Workstream 9): füllt Merkmale, Enum-Optionen, Fahrzeug-Vorlagen,
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { eq, and } from "drizzle-orm";
|
import { eq, and } from "drizzle-orm";
|
||||||
import type { Tx } from "@/lib/audit";
|
import type { Tx } from "../../lib/audit.js";
|
||||||
import * as schema from "@/db/schema";
|
import * as schema from "../schema/index.js";
|
||||||
import type { MerkmalSeed } from "./data/merkmale";
|
import type { MerkmalSeed } from "./data/merkmale.js";
|
||||||
import type { VehicleTemplateSeed } from "./data/vehicle-templates";
|
import type { VehicleTemplateSeed } from "./data/vehicle-templates.js";
|
||||||
import type { EquipmentCategorySeed } from "./data/equipment-categories";
|
import type { EquipmentCategorySeed } from "./data/equipment-categories.js";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Idempotente Upserts für Workstream-9-Seeds (Querschnittsstandard 7:
|
* Idempotente Upserts für Workstream-9-Seeds (Querschnittsstandard 7:
|
||||||
|
|||||||
Reference in New Issue
Block a user