Table of Contents

Struct SchemaHistoryR1

Namespace
Typhon.Engine
Assembly
Typhon.Engine.dll

Audit trail entry for schema changes. One entity is created for each component schema change (add/remove/widen fields, migration function execution, etc.).

[Component("Typhon.Schema.History", 1)]
public struct SchemaHistoryR1
Inherited Members

Fields

ComponentName

Schema name of the component whose definition changed. For a Rename row this is the name after the rename.

public String64 ComponentName

Field Value

String64

ElapsedMilliseconds

Wall-clock duration of the migration in milliseconds; 0 when no migration ran.

public int ElapsedMilliseconds

Field Value

int

EntitiesMigrated

Number of entities migrated to the new layout; 0 when no migration ran.

public int EntitiesMigrated

Field Value

int

FieldsAdded

Number of fields added by the change.

public int FieldsAdded

Field Value

int

FieldsRemoved

Number of fields removed by the change.

public int FieldsRemoved

Field Value

int

FieldsTypeChanged

Number of fields whose type changed or widened.

public int FieldsTypeChanged

Field Value

int

FromRevision

Component schema revision before the change.

public int FromRevision

Field Value

int

Kind

Classification of the change (see SchemaChangeKind).

public SchemaChangeKind Kind

Field Value

SchemaChangeKind

PreviousName

The name this object carried before the change. Populated only when Kind is Rename; empty for every other row. Together with ComponentName this is the old-name → new-name edge, and repeated renames leave a chain of rows that a reader walks forward to resolve a long-dead name to the current one.

public String64 PreviousName

Field Value

String64

Remarks

The revision at which the rename happened is FromRevisionToRevision, which also captures the case where the rename coincided with a field change.

SchemaName

Fully-qualified schema name of this record ("Typhon.Schema.History").

public const string SchemaName = "Typhon.Schema.History"

Field Value

string

Target

Whether this row describes a component or an archetype. See SchemaObjectKind for why the discriminator is necessary.

public SchemaObjectKind Target

Field Value

SchemaObjectKind

Timestamp

When the change was recorded, as UtcNow ticks.

public long Timestamp

Field Value

long

ToRevision

Component schema revision after the change.

public int ToRevision

Field Value

int