選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

41 行
1.2KB

  1. namespace Campaign_Tracker.Server.LegacyData.Schema;
  2. /// <summary>
  3. /// Categorisation of a structural delta detected by the compatibility check
  4. /// (Story 1.7 AC #2). Used in <see cref="LegacySchemaDrift"/> entries.
  5. /// </summary>
  6. public enum LegacySchemaChangeType
  7. {
  8. TableMissing,
  9. TableAdded,
  10. ColumnMissing,
  11. ColumnAdded,
  12. ColumnTypeChanged,
  13. ColumnSizeChanged,
  14. ColumnNullabilityChanged,
  15. ColumnConstraintsChanged,
  16. }
  17. /// <summary>
  18. /// One structural delta entry between baseline and live schema.
  19. /// <see cref="ColumnName"/> is null for table-level drift entries.
  20. /// </summary>
  21. public sealed record LegacySchemaDrift(
  22. string TableName,
  23. string? ColumnName,
  24. LegacySchemaChangeType ChangeType,
  25. string Detail);
  26. /// <summary>
  27. /// Outcome of a compatibility check run.
  28. /// AC #2: failure includes structured drift list identifying table, column, and change type.
  29. /// AC #3: pass returns timestamp, count of tables verified, and zero drift count.
  30. /// </summary>
  31. public sealed record LegacySchemaCheckResult(
  32. bool Passed,
  33. int TablesVerified,
  34. int DriftCount,
  35. DateTimeOffset CheckedAt,
  36. IReadOnlyList<LegacySchemaDrift> Drifts,
  37. string BaselineSource);

Powered by TurnKey Linux.