Internal NuGet package containing the shared Management database table models used by Dream Consistency product control planes.
| Package ID | DreamConsistency.ManagementTables |
|---|---|
| Current Version | 1.0.2 |
| Target Framework | .NET Standard 2.1 |
| NuGet Feed | https://nuget.dreamconsistency.com/v3/index.json |
| Bitbucket Repository | DreamConsistency.ManagementTables |
| Default Release Branch | master |
| Jenkins Job | DreamConsistency - Packages / DreamConsistency.ManagementTables - NuGet Release |
DreamConsistency.ManagementTables provides a shared, versioned C# persistence contract for
Dream Consistency product Management databases.
The package allows Hestino Management, Legislator Management, and future Dream Consistency product control planes to use the same Management database concepts without copying table/entity definitions between repositories.
Dream Consistency separates shared control-plane persistence into distinct logical contracts.
| Contract | Responsibility | Examples |
|---|---|---|
DreamConsistency.RealmTables |
Current control, identity, product-access, subscription and commercial state. | Tenants, accounts, subscriptions, plans, prices, entitlements, markets, Realms. |
DreamConsistency.ManagementTables |
Operational execution, operational state and Management history. | Operations, steps, attempts, packages, usage snapshots, imports and audit. |
DreamConsistency.BillingTables |
Financial documents and transaction state. | Invoices, invoice items, payments, credit notes and billing runs. |
| Product Tenant Tables | Actual product business data. | Hestino menus and locations; Legislator cases and documents. |
The Management table contract is shared, while physical Management databases remain isolated per product deployment.
Hestino and Legislator therefore share the Management persistence model without sharing the same physical database.
DreamConsistency.Management orchestrator communicates with product control-plane
APIs. It must not directly write into Hestino or Legislator Management, Realm, Billing, or Tenant databases.
| Consumer | Status | Usage |
|---|---|---|
Hestino.Management.Api |
Primary consumer | Hestino product-control-plane operational persistence. |
Legislator.Management.Api |
Planned evolution | Shared Management persistence contract for the Legislator control plane. |
| Future Dream Consistency product Management APIs | Future | Reusable Management persistence without product-specific schema duplication. |
Management tables follow the same Dream Consistency identifier conventions used by the Realm and product database contracts.
An ID is the primary identifier of a concrete table row.
A RefID identifies a concrete referenced record. It may represent either a local physical
foreign key or a logical reference to a record in another Dream Consistency database.
RefID values intentionally do not have physical database foreign-key constraints.
Referential consistency across physical database boundaries is enforced by the application/service layer.
A UUID identifies a stable catalog or system concept that must remain recognizable across
database instances, environments, deployments, or services.
RefID; stable catalog/system concepts use UUID.
Dream Consistency database tooling adds the following common fields programmatically to Management tables:
These fields may therefore not be manually represented in the MySQL Workbench model.
Catalog and definition tables have stable UUIDs. Runtime, operational, state, and history tables normally have only their row ID and required references.
Table models may depend on shared Dream Consistency entity-mapping infrastructure used by the generated or manually maintained database entities.
DreamConsistency.ManagementTables through NuGet.
Do not use relative ProjectReference paths to separately checked-out Dream Consistency repositories
in CI or production projects.
Version 1.0.1 contains the shared Management persistence areas described below.
The package source on master remains the final source of truth for exact C# class definitions.
| Table | Type | Purpose |
|---|---|---|
INF_ManagementSchemaVersions |
Operational metadata | Tracks Management database schema and contract versions applied to the physical database. |
OPS_OperationTypes |
Catalog / UUID | Defines stable Management operation types such as tenant provisioning, package installation, repair, archive, restore, import, and export. |
OPS_OperationStatuses |
Catalog / UUID | Defines the shared lifecycle statuses used by operations, operation steps, and attempts. |
OPS_Operations |
Operational | Represents one concrete Management operation and stores its target, lifecycle, idempotency, actor, correlation, diagnostics, and optional metadata. |
OPS_OperationSteps |
Operational | Stores ordered, individually tracked steps belonging to an operation. |
OPS_OperationStepAttempts |
History | Stores every execution attempt of an operation step so retry history is never overwritten. |
| Table | Type | Purpose |
|---|---|---|
PKG_Packages |
Catalog / UUID | Registry of deployable Management packages. The Management contract does not know or model the package's business contents. |
PKG_PackageVersions |
Catalog / UUID | Defines immutable/versioned package releases that may be installed on tenant applications. |
PKG_PackageInstallationStatuses |
Catalog / UUID | Defines the current lifecycle state of a tenant-application package installation. |
PKG_TenantApplicationPackages |
Current state | Stores the package version currently installed, installing, upgrading, failed, or uninstalled for a tenant application. |
| Table | Type | Purpose |
|---|---|---|
USG_MetricValueTypes |
Catalog / UUID | Defines supported usage metric value types such as integer, decimal, boolean, and string. |
USG_MetricTypes |
Catalog / UUID | Defines product-neutral metric identities and their value types and units. |
USG_Snapshots |
History | Represents a usage snapshot for one tenant application at a specific point in time. |
USG_SnapshotValues |
History | Stores individual metric values belonging to a usage snapshot. |
| Table | Type | Purpose |
|---|---|---|
AUD_ActionTypes |
Catalog / UUID | Defines stable Management audit action identities. |
AUD_Entries |
History / audit | Records important human and service Management actions, optionally correlated with an operation and affected entity. |
NTE_InternalNotes |
Operational information | Stores internal Dream Consistency notes associated with a tenant or tenant application. These notes are not customer-facing. |
| Table | Type | Purpose |
|---|---|---|
IMP_ImportTypes |
Catalog / UUID | Defines stable product-specific import identities while keeping import persistence generic. |
IMP_ImportStatuses |
Catalog / UUID | Defines the import lifecycle from pending and validation through execution, completion, failure, or cancellation. |
IMP_Imports |
Operational | Represents one concrete data-import request, including source file reference, target tenant application, record counts, lifecycle and diagnostics. |
IMP_ImportIssues |
Operational detail | Stores row-level or record-level validation/import issues that require diagnostics or operator attention. |
The following tables use stable UUID identities and are treated as shared catalog/definition tables:
Business logic must use stable UUID constants rather than human-readable names as machine identifiers.
The Management operation model generalizes provisioning into a reusable product-control-plane execution model.
A product Management API determines the actual steps for a given operation.
For example, Hestino tenant provisioning may include Realm initialization, schema deployment, package installation, and creation of a default brand/location/menu. Legislator provisioning may execute a completely different sequence while using the same Management persistence contract.
Step attempts are stored separately from the current step state so failures are not overwritten by later retries.
Management operations support retry-safe distributed workflows through explicit idempotency and correlation metadata.
| Field | Purpose |
|---|---|
IdempotencyKey |
Prevents the same logical command from creating duplicate operations/resources during retries. |
RequestHash |
Allows the API to detect reuse of the same idempotency key with a different normalized request payload. |
CorrelationID |
Links API requests, Management operations, logs, audit entries, and downstream service calls. |
Management databases intentionally reference Realm, File Storage, and other service-owned records using logical
RefID values without creating physical cross-database foreign keys.
Add the package to a consuming backend service using the current explicit version:
Or add an explicit package reference:
Import the namespace and register only the required Management entity sets in the consuming service transaction context.
1.* are not allowed.
Package releases and physical Management database schema deployments are separate operations.
When a table-model change requires a database schema change, use the following deployment sequence:
DreamConsistency.ManagementTables package version.The package uses Semantic Versioning:
| Version Change | Meaning | Example |
|---|---|---|
PATCH |
Backward-compatible correction that does not break the public Management table contract. | 1.0.0 → 1.0.1 |
MINOR |
Backward-compatible addition such as a new table class or optional property. | 1.0.1 → 1.1.0 |
MAJOR |
Breaking public-contract or incompatible persistence-model change. | 1.1.0 → 2.0.0 |
master.PUBLISH_PACKAGE disabled.PUBLISH_PACKAGE enabled.RefID for references to concrete records, including logical references across physical databases.PackageReference dependencies rather than sibling-repository relative references.| Version | Date | Change |
|---|---|---|
1.0.2 |
2026-08-12 | Added new fields in ops_operations table. |
1.0.1 |
2026-07-26 | Current stable release of the shared Dream Consistency Management table contract. Includes the Infrastructure & Operations, Packages & Installations, Usage & Metrics, Audit & Internal Notes, and Data Imports table groups. |
1.0.0 |
2026-07-26 |
Initial stable release of DreamConsistency.ManagementTables.
|
The same Management persistence contract is intended to support independent Hestino and Legislator product control planes.
The future central DreamConsistency.Management system communicates with each product
through versioned APIs and must not depend on the internal physical Management database schema.