forked from baron/baron-sso
조직 연동 오류 해결
This commit is contained in:
@@ -23,6 +23,9 @@ func Run(db *gorm.DB) error {
|
||||
}
|
||||
|
||||
// 3. Normalize staging seed/read-model data
|
||||
if err := CanonicalizeLegacyUserStatuses(db); err != nil {
|
||||
return fmt.Errorf("legacy user status canonicalization failed: %w", err)
|
||||
}
|
||||
if err := SanitizeLegacyUserMetadata(db); err != nil {
|
||||
return fmt.Errorf("legacy user metadata sanitize failed: %w", err)
|
||||
}
|
||||
@@ -64,6 +67,25 @@ func migrateSchemas(db *gorm.DB) error {
|
||||
)
|
||||
}
|
||||
|
||||
func CanonicalizeLegacyUserStatuses(db *gorm.DB) error {
|
||||
if db == nil || !db.Migrator().HasTable(&domain.User{}) {
|
||||
return nil
|
||||
}
|
||||
updates := map[string]string{
|
||||
"inactive": domain.UserStatusPreboarding,
|
||||
"leave_of_absence": domain.UserStatusTemporaryLeave,
|
||||
"baron_only": domain.UserStatusBaronGuest,
|
||||
}
|
||||
for legacy, canonical := range updates {
|
||||
if err := db.Model(&domain.User{}).
|
||||
Where("status = ?", legacy).
|
||||
Update("status", canonical).Error; err != nil {
|
||||
return fmt.Errorf("failed to canonicalize users.status %s to %s: %w", legacy, canonical, err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func dropLegacyUserCompanyColumns(db *gorm.DB) error {
|
||||
if !db.Migrator().HasTable(&domain.User{}) {
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user