# ED-04-007 – SourceDelivery Reference

Status: Proposed

---

# 1. Ziel

Die Tabelle `source_value` erhält eine Referenz auf den erzeugenden
`SourceDelivery`.

Dadurch wird jeder persistierte SourceValue eindeutig seinem
Importlauf zugeordnet.

---

# 2. Motivation

Zurzeit besteht folgende Beziehung:

SourceDelivery
│
├── SourceValue
├── ContextItem
└── ...

Die Beziehung zwischen `SourceDelivery` und `SourceValue`
ist bislang jedoch nicht in der Persistenz gespeichert.

Dadurch kann ein SourceValue später keinem konkreten
Importlauf mehr eindeutig zugeordnet werden.

---

# 3. Scope

## Datenbankschema

Neue Spalte

source_value.source_delivery_id

Typ

BIGINT NOT NULL

Foreign Key

source_delivery(id)

Index

idx_source_value_source_delivery

---

# 4. Domain

Keine Änderungen.

DM001 bleibt unverändert.

---

# 5. Persistence

Anpassungen:

Migration

Persistence Model

SourceValueMapper

SourceValueRepository

Rehydration

---

# 6. Runtime

Beim Persistieren eines SourceValue wird automatisch

source_delivery.id

übernommen.

Es erfolgt keine zusätzliche Logik.

---

# 7. Tests

Migration Test

Persistence Test

Rehydration Test

End-to-End Test

Prüfen:

SourceDelivery

↓

SourceValue.source_delivery_id

wird korrekt gespeichert.

---

# 8. Nicht Bestandteil

OpenRefine

Manifest

delivery_id

HTTP

REST

Candidate Discovery

---

# 9. Akzeptanzkriterien

✔ Migration erfolgreich

✔ FK vorhanden

✔ Repository speichert source_delivery_id

✔ Rehydration funktioniert

✔ bestehende Tests bleiben grün

✔ OpenRefine Regression erfolgreich