Files
RenewCMS/internal/infrastructure/persistence/database/inviteRoleBackfill.go
T

29 lines
678 B
Go

package database
import (
"RenewCMS/internal/domain/role"
entity "RenewCMS/internal/infrastructure/persistence/models"
"gorm.io/gorm"
)
func BackfillInviteRoles(db *gorm.DB) error {
if !legacyRoleColumnExists(db) {
return nil
}
return db.Transaction(func(tx *gorm.DB) error {
done, err := markerApplied(tx, inviteRolesMarker)
if err != nil || done {
return err
}
adminID, err := requireBuiltInRoleID(tx, role.AdminName)
if err != nil {
return err
}
if err := tx.Model(&entity.Invite{}).Where("role_id IS NULL OR role_id = 0").UpdateColumn("role_id", adminID).Error; err != nil {
return err
}
return applyMarker(tx, inviteRolesMarker)
})
}