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 object | CLR type | Classification | Aggregate | Tenant scope | Primary key | Unique keys | Enforced relationships | Identifier-only references | Query filter | Important indexes | Lifecycle role | Source |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Assets | Domain.Asset.Asset | Aggregate root (tenant-domain) | Asset | Tenant filtered | Guid Id | CompatId unique | Parent of history and documents | User, labor, workflow instance, compat id | Yes | CompatId (unique), AssetCode, Tenant+Status, Tenant+Type, WorkflowInstance | Canonical asset record and lifecycle state | Domain/Asset/Asset.cs |
| AssetAssignmentHistory | Domain.Asset.AssetAssignmentHistory | Aggregate child | Asset | Tenant filtered | Guid Id | — | FK AssetId → Assets (cascade) | User, labor | Yes | AssetId, Tenant+Asset | Append-only lifecycle action log | Domain/Asset/Asset.cs |
| AssetDocumentReferences | Domain.Asset.AssetDocumentReference | Aggregate child | Asset | Tenant filtered | Guid Id | — | FK AssetId → Assets (cascade) | Document service id, storage object id | Yes | AssetId, Tenant+Asset | Pointer to externally stored document bytes | Domain/Asset/Asset.cs |
| AssetAuditLogs | Infrastructure.AssetAuditLog | Audit (evidence) | — | Tenant filtered | Guid Id | — | None | Entity id (string) | Yes | Tenant+OccurredAt | Append-only audit trail | Infrastructure/AssetDbContext.cs |
| AssetTimeline | Infrastructure.AssetTimeline | Timeline (evidence) | — | Tenant filtered | Guid Id | — | None | Entity id (string) | Yes | Tenant+OccurredAt | Per-tenant activity feed | Infrastructure/AssetDbContext.cs |
| OutboxMessages | SharedKernel.Outbox.OutboxMessage | Messaging (outbox) | — | Not filtered | Guid Id | EventId unique | None | Correlation id | No | EventId (unique), Status+OccurredAt | Transactional outbox staging | Infrastructure/AssetDbContext.cs |
| ProcessedIntegrationEvents | Infrastructure.ProcessedIntegrationEvent | Messaging (processed-event) | — | Not filtered | Guid Id | EventId unique | None | Correlation id | No | EventId (unique) | Inbound idempotency ledger (modeled, unused) | Infrastructure/AssetDbContext.cs |
Verified totals
| Metric | Value |
|---|---|
| Persisted objects | 7 |
| Aggregate roots | 1 |
| Aggregate children | 2 |
| Evidence objects | 2 |
| Messaging objects | 2 |
| Compatibility objects (separate tables) | 0 |
| Tenant-filtered objects | 5 |
| Non-filtered objects | 2 |
| Enforced relationships | 2 |
| Identifier-only references | user, labor, workflow, document (2), compat, entity-id |
| Non-primary-key indexes | 14 |
| Unique constraints | 3 |
| Value-object conversions | 4 |
| Migrations | 1 |
Classification
Authoritative logical catalog; physical deployment details excluded.
Requires confirmation
Data classification, retention, ownership, archive destinations, and future model evolution require confirmation.
Related Articles
See Also
Keywords
- Asset persistence
- Schema Reference
- Draft database documentation
Source References
microservices/src/asset-service/Infrastructure/AssetDbContext.csmicroservices/src/asset-service/Infrastructure/Migrations/AssetDbContextModelSnapshot.csmicroservices/src/asset-service/Domain/Asset/Asset.cs
Revision Information
- Status: Draft
- Last reviewed: 2026-07-17
- Review cycle: Quarterly