package database import ( "RenewCMS/internal/domain/role" entity "RenewCMS/internal/infrastructure/persistence/models" "gorm.io/gorm" ) func BackfillCreatedBy(db *gorm.DB) error { return db.Transaction(func(tx *gorm.DB) error { ownerRoleID, seeded, err := builtInRoleID(tx, role.OwnerName) if err != nil { return err } if !seeded { return nil } var owner entity.User result := tx.Where("role_id = ?", ownerRoleID).Order("id asc").Limit(1).Find(&owner) if result.Error != nil { return result.Error } if result.RowsAffected == 0 { return nil } if err := tx.Unscoped().Model(&entity.Article{}).Where("created_by = 0").UpdateColumn("created_by", owner.ID).Error; err != nil { return err } return tx.Model(&entity.Entry{}).Where("created_by = 0").UpdateColumn("created_by", owner.ID).Error }) }