diff --git a/server/backend/migration/20230825000000.go b/server/backend/migration/20230825000000.go new file mode 100644 index 00000000..6f64ea82 --- /dev/null +++ b/server/backend/migration/20230825000000.go @@ -0,0 +1,25 @@ +package migration + +import ( + "github.com/TUM-Dev/Campus-Backend/server/model" + "github.com/go-gormigrate/gormigrate/v2" + "gorm.io/gorm" +) + +// migrate20230825000000 +// Removes the ability to run chat cronjobs +func (m TumDBMigrator) migrate20230825000000() *gormigrate.Migration { + return &gormigrate.Migration{ + ID: "20230825000000", + Migrate: func(tx *gorm.DB) error { + // deactivete the crontab (Rollback deletes this from the enum) + // given that previously, not cronjobs for this type existed there is no need to remove offending entries first + return SafeEnumRollback(tx, &model.Crontab{}, "type", "chat") + }, + Rollback: func(tx *gorm.DB) error { + // activete the crontab (Migrate adds this from to the enum) + // given that previously, not cronjobs for this type existed there is no need to add entries first + return SafeEnumMigrate(tx, &model.Crontab{}, "type", "chat") + }, + } +} diff --git a/server/model/crontab.go b/server/model/crontab.go index e42571b2..a4506833 100644 --- a/server/model/crontab.go +++ b/server/model/crontab.go @@ -18,7 +18,7 @@ type Crontab struct { //[ 2] lastRun int null: false primary: false isArray: false auto: false col: int len: -1 default: [0] LastRun int32 `gorm:"column:lastRun;type:int;default:0;" json:"last_run"` //[ 3] type char(10) null: true primary: false isArray: false auto: false col: char len: 10 default: [] - Type null.String `gorm:"column:type;type:enum ('news', 'mensa', 'chat', 'kino', 'roomfinder', 'alarm', 'fileDownload','dishNameDownload','averageRatingComputation', 'iosNotifications', 'iosActivityReset', 'canteenHeadCount');" json:"type"` + Type null.String `gorm:"column:type;type:enum ('news', 'mensa', 'kino', 'roomfinder', 'alarm', 'fileDownload','dishNameDownload','averageRatingComputation', 'iosNotifications', 'iosActivityReset', 'canteenHeadCount');" json:"type"` //[ 4] id int null: true primary: false isArray: false auto: false col: int len: -1 default: [] ID null.Int `gorm:"column:id;type:int;" json:"id"` }