Skip to main content

Asset Logical Schema Reference

Summary

Canonical logical catalog of every Asset Management persisted object for the current source checkout, without physical deployment details.

Audience

Backend engineers, database reviewers, architects, QA, support, operations, security reviewers, and product owners.

Overview

This is the authoritative logical persistence catalog for Asset Management. Each persisted object appears exactly once. It intentionally omits generated statements, physical deployment names, and sensitive content. Every entry is verified against the DbContext model configuration and the model snapshot.

Logical object catalog

Persisted objectCLR typeClassificationAggregateTenant scopePrimary keyUnique keysEnforced relationshipsIdentifier-only referencesQuery filterImportant indexesLifecycle roleSource
AssetsDomain.Asset.AssetAggregate root (tenant-domain)AssetTenant filteredGuid IdCompatId uniqueParent of history and documentsUser, labor, workflow instance, compat idYesCompatId (unique), AssetCode, Tenant+Status, Tenant+Type, WorkflowInstanceCanonical asset record and lifecycle stateDomain/Asset/Asset.cs
AssetAssignmentHistoryDomain.Asset.AssetAssignmentHistoryAggregate childAssetTenant filteredGuid IdFK AssetId → Assets (cascade)User, laborYesAssetId, Tenant+AssetAppend-only lifecycle action logDomain/Asset/Asset.cs
AssetDocumentReferencesDomain.Asset.AssetDocumentReferenceAggregate childAssetTenant filteredGuid IdFK AssetId → Assets (cascade)Document service id, storage object idYesAssetId, Tenant+AssetPointer to externally stored document bytesDomain/Asset/Asset.cs
AssetAuditLogsInfrastructure.AssetAuditLogAudit (evidence)Tenant filteredGuid IdNoneEntity id (string)YesTenant+OccurredAtAppend-only audit trailInfrastructure/AssetDbContext.cs
AssetTimelineInfrastructure.AssetTimelineTimeline (evidence)Tenant filteredGuid IdNoneEntity id (string)YesTenant+OccurredAtPer-tenant activity feedInfrastructure/AssetDbContext.cs
OutboxMessagesSharedKernel.Outbox.OutboxMessageMessaging (outbox)Not filteredGuid IdEventId uniqueNoneCorrelation idNoEventId (unique), Status+OccurredAtTransactional outbox stagingInfrastructure/AssetDbContext.cs
ProcessedIntegrationEventsInfrastructure.ProcessedIntegrationEventMessaging (processed-event)Not filteredGuid IdEventId uniqueNoneCorrelation idNoEventId (unique)Inbound idempotency ledger (modeled, unused)Infrastructure/AssetDbContext.cs

Verified totals

MetricValue
Persisted objects7
Aggregate roots1
Aggregate children2
Evidence objects2
Messaging objects2
Compatibility objects (separate tables)0
Tenant-filtered objects5
Non-filtered objects2
Enforced relationships2
Identifier-only referencesuser, labor, workflow, document (2), compat, entity-id
Non-primary-key indexes14
Unique constraints3
Value-object conversions4
Migrations1

Classification

Authoritative logical catalog; physical deployment details excluded.

Requires confirmation

Data classification, retention, ownership, archive destinations, and future model evolution require confirmation.

See Also

Keywords

  • Asset persistence
  • Schema Reference
  • Draft database documentation

Source References

  • microservices/src/asset-service/Infrastructure/AssetDbContext.cs
  • microservices/src/asset-service/Infrastructure/Migrations/AssetDbContextModelSnapshot.cs
  • microservices/src/asset-service/Domain/Asset/Asset.cs

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-17
  • Review cycle: Quarterly