SHA256
GuestDocument Versions - Part 1:
- Changed GuestDocument PK from `DocumentType`+`DocumentNumber` to to `ID`+`Version` for future versioning. - Added DB field "IsLastVersion" to simplify queries where only last/current version is allowed. - Updated GuestDocument DB fields type for `CreateTime` & `UpdateTime` to add precision. - Updated usages of GuestDocument PK to new PK. - Limit delete of a GuestDocument when it's currently used in a StayEntry. Note: DB changes require recreating db tables, so all data is lost and migration "rollback" is not allowed.
This commit is contained in:
@@ -2,6 +2,9 @@ namespace Somnia.GuestLog.Models.Entities;
|
||||
|
||||
public class GuestDocument : BaseEntity
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public int Version { get; set; }
|
||||
|
||||
public required string DocumentType { get; set; }
|
||||
public required string DocumentNum { get; set; }
|
||||
|
||||
@@ -26,6 +29,8 @@ public class GuestDocument : BaseEntity
|
||||
public required DateTime CreateTime { get; set; }
|
||||
public required DateTime UpdateTime { get; set; }
|
||||
|
||||
public required bool IsLastVersion { get; set; }
|
||||
|
||||
public override string GetFullKey() => $"{DocumentType}-{DocumentNum}";
|
||||
|
||||
public override string GetFullKey() => $"{Id}-{Version}";
|
||||
}
|
||||
Reference in New Issue
Block a user