A12: Add meaningful changes/provenance to ImportRecordEvent, skip events for unchanged data
This commit is contained in:
@@ -216,12 +216,14 @@ class ExternalEntityAlias(Base):
|
||||
|
||||
|
||||
class ImportRecordEvent(Base):
|
||||
"""Track per-record import events for D09 revision history."""
|
||||
"""Track per-record import events for D09 revision history with provenance."""
|
||||
__tablename__ = "import_record_event"
|
||||
id: Mapped[uuid.UUID] = mapped_column(primary_key=True, default=uuid.uuid4)
|
||||
catch_report_id: Mapped[uuid.UUID] = mapped_column(ForeignKey("catch_report.id"), index=True)
|
||||
import_run_id: Mapped[uuid.UUID] = mapped_column(ForeignKey("official_record_import.id"), index=True)
|
||||
event_type: Mapped[str] = mapped_column(String(20)) # created/updated/deleted
|
||||
changes: Mapped[dict | None] = mapped_column(JSON, default=None) # what fields changed
|
||||
provenance: Mapped[dict | None] = mapped_column(JSON, default=None) # source system, external_id
|
||||
created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True))
|
||||
catch_report: Mapped[CatchReport] = relationship()
|
||||
import_run: Mapped[OfficialRecordImport] = relationship()
|
||||
|
||||
Reference in New Issue
Block a user