feat(datenmodell): Schema, tagCodes und Geheimnisse (#20)
Vollständiges Datenmodell in deutscher Benennung: 20 Tabellen, 9 Aufzählungen, eine Migration, dazu die framework-freien Helfer für tagCodes und Geheimnisse. Regeln stehen zusätzlich in der Datenbank, nicht nur im Service: 12 CHECKs, 2 partielle Eindeutigkeitsindizes, 4 zusammengesetzte Fremdschlüssel. Die Mandantengrenze ist damit strukturell erzwungen. Schrittergebnisse, Kommentare und Protokolleinträge kaskadieren bewusst nicht — das Archiv ist das Gedächtnis der Anwendung. 106 Tests, davon 42 gegen die echten Datenbankregeln. Closes #6 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit was merged in pull request #20.
This commit is contained in:
@@ -49,10 +49,12 @@ describe("Betriebsstand: docker-compose.yml", () => {
|
||||
});
|
||||
|
||||
describe("Betriebsstand: Entwicklungsdatenbank", () => {
|
||||
it("laeuft auf 5433, damit ein lokales 5432 frei bleibt", () => {
|
||||
it("bindet nur auf localhost und auf einen eigenen, umstellbaren Port", () => {
|
||||
const stand = compose("docker-compose.dev.yml") as unknown as {
|
||||
services: Record<string, { ports?: string[] }>;
|
||||
};
|
||||
expect(stand.services["postgres"]?.ports).toEqual(["127.0.0.1:5433:5432"]);
|
||||
// Der Standard ist 5434, weil 5432 lokal und 5433 von einem anderen Projekt
|
||||
// belegt sein koennen. Umstellbar ueber DEV_DB_PORT.
|
||||
expect(stand.services["postgres"]?.ports).toEqual(["127.0.0.1:${DEV_DB_PORT:-5434}:5432"]);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user