add partial index for patient number

This commit is contained in:
vanilia
2025-12-03 14:20:28 +07:00
parent 6c0c891894
commit a44ba9ab1c
2 changed files with 12 additions and 5 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
h1:MO6ze6e6ClW/WxUyiZxT6Lmhz8BDgXmmYeLDSN4xEJw=
h1:DgMML95zGYI7JMvZaIb/gySCvncMu62CANOIXNX0A6w=
20250904105930.sql h1:MEM6blCgke9DzWQSTnLzasbPIrcHssNNrJqZpSkEo6k=
20250904141448.sql h1:J8cmYNk4ZrG9fhfbi2Z1IWz7YkfvhFqTzrLFo58BPY0=
20250908062237.sql h1:Pu23yEW/aKkwozHoOuROvHS/GK4ngARJGdO7FB7HZuI=
@@ -143,4 +143,4 @@ h1:MO6ze6e6ClW/WxUyiZxT6Lmhz8BDgXmmYeLDSN4xEJw=
20251202130629.sql h1:9mvalqfhqGCdkcJepJDzHprU2xb0i5sYys1Htf62ioo=
20251202160848.sql h1:Kd2/TziKSMezrt4XgbjQcYvY/Lo9rX0qw7/Lz0/oyKk=
20251202180207.sql h1:IHmSMIO3ia+YV5GULixbdlV1joaUAWtnjQHPd8+HKiM=
20251202231005.sql h1:iVzsqbqmfncDXPPXoRqCQdcvgvLBv57TbzdbzQAmSVc=
20251202231005.sql h1:lua0KKoeBptSfs/6ehZE6Azo6YUlNkOJwGFyb1HQWkY=
@@ -15,7 +15,14 @@ type Patient struct {
RegisteredAt *time.Time `json:"registeredAt"`
RegisteredBy_User_Name *string `json:"registeredBy_user_name" gorm:"size:100"`
Status_Code erc.ActiveStatusCode `json:"status_code" gorm:"not null;size:10"`
Number *string `json:"number" gorm:"unique;size:15"`
Parent_Number *string `json:"parent_number"`
Parent *Patient `json:"parent,omitempty" gorm:"foreignKey:Parent_Number;references:Number"`
// Normal UNIQUE index — required for the foreign key reference
Number *string `json:"number" gorm:"size:15;unique"`
// Partial unique index — keeps Number unique only for nonsoft-deleted records.
// Allows duplicate Number values when previous records are soft-deleted.
_ struct{} `gorm:"uniqueIndex:idx_number_active,where:\"DeletedAt\" IS NULL"`
Parent_Number *string `json:"parent_number"`
Parent *Patient `json:"parent,omitempty" gorm:"foreignKey:Parent_Number;references:Number"`
}