package db

import "gorm.io/gorm"

var _ = AddMigrateRecord(1,
	func(db *gorm.DB) error {
		return db.AutoMigrate(
			&AlertSubscriber{},
			&AlertQuota{},
			&AlertNotification{},
		)
	},
)

var _ = AddMigrateRecord(2,
	func(db *gorm.DB) error {
		return db.AutoMigrate(
			&AlertmanagerToken{},
		)
	},
)

var _ = AddMigrateRecord(3,
	func(db *gorm.DB) error {
		return db.AutoMigrate(
			&AlertSubscriber{},
			&AlertNotification{},
		)
	},
)

var _ = AddMigrateRecord(4,
	func(db *gorm.DB) error {
		return db.AutoMigrate(
			&AlertmanagerToken{},
		)
	},
)

var _ = AddMigrateRecord(5,
	func(db *gorm.DB) error {
		return db.AutoMigrate(
			&AlertSubscriber{},
		)
	},
)

var _ = AddMigrateRecord(6,
	func(db *gorm.DB) error {
		return db.Exec("ALTER TABLE `alert_subscribers` MODIFY COLUMN `subscriber_type` enum('EMAIL','SLACK','ZOOM', 'FLASHDUTY', 'PAGERDUTY') NOT NULL").Error
	},
)

var _ = AddMigrateRecord(7,
	func(db *gorm.DB) error {
		if err := db.Exec("ALTER TABLE `alert_subscribers` MODIFY COLUMN `subscriber_type` enum('EMAIL','SLACK','ZOOM','FLASHDUTY','PAGERDUTY','WEBHOOK','LARK') NOT NULL").Error; err != nil {
			return err
		}
		return db.AutoMigrate(&AlertSubscriber{})
	},
)
