chore(db): align SourceNode unicode metadata + document partition-aligned index recipe
Tidies flagged by code review on the T6/T7/T8 migration bundle: - Add `.IsUnicode(false)` to the three SourceNode EF property mappings to match every other ASCII varchar column on the same entities. Physical column was already `varchar(64)` because `HasColumnType` wins, but the EF model metadata flag was inconsistent. - Add `unicode: false` to the three AddColumn<string> calls in the migrations + their Designer snapshots so the historical snapshots match the model. - Update the model snapshot to carry IsUnicode(false) on each SourceNode entry. - Document the SELECT-list invariant on SiteCallAuditRepository.QueryAsync: EF Core's FromSqlInterpolated requires every entity-tracked column in the result set, so future SiteCall columns must extend the list too. - Amend plan Task 6 Step 2 to document the partition-aligned raw-SQL index recipe and the staging-table sync requirement.
This commit is contained in:
@@ -171,6 +171,11 @@ WHERE TrackedOperationId = {idText}
|
||||
// and compose with the keyset cursor, so a StuckOnly page is honest:
|
||||
// never under-filled with a non-null next cursor. Mirrors how
|
||||
// NotificationOutboxRepository.QueryAsync applies NotificationOutboxFilter.StuckCutoff.
|
||||
//
|
||||
// SELECT-list maintenance: EF Core's FromSqlInterpolated requires every
|
||||
// entity-tracked column to appear in the result set. Adding a new column
|
||||
// to the SiteCall entity means extending the list below too — otherwise
|
||||
// every read trips "The required column 'X' was not present" at runtime.
|
||||
FormattableString sql = $@"
|
||||
SELECT TOP ({paging.PageSize})
|
||||
TrackedOperationId, Channel, Target, SourceSite, SourceNode, Status, RetryCount,
|
||||
|
||||
Reference in New Issue
Block a user