mirror of
https://github.com/songquanpeng/one-api.git
synced 2025-09-29 06:36:38 +08:00
46 lines
935 B
Go
46 lines
935 B
Go
package model
|
|
|
|
import (
|
|
"one-api/common/logger"
|
|
|
|
"github.com/go-gormigrate/gormigrate/v2"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func removeKeyIndexMigration() *gormigrate.Migration {
|
|
return &gormigrate.Migration{
|
|
ID: "202405152141",
|
|
Migrate: func(tx *gorm.DB) error {
|
|
dialect := tx.Dialector.Name()
|
|
if dialect == "sqlite" {
|
|
return nil
|
|
}
|
|
|
|
if !tx.Migrator().HasIndex(&Channel{}, "idx_channels_key") {
|
|
return nil
|
|
}
|
|
|
|
err := tx.Migrator().DropIndex(&Channel{}, "idx_channels_key")
|
|
if err != nil {
|
|
logger.SysLog("remove idx_channels_key Failure: " + err.Error())
|
|
}
|
|
return nil
|
|
},
|
|
Rollback: func(tx *gorm.DB) error {
|
|
return nil
|
|
},
|
|
}
|
|
}
|
|
|
|
func migration(db *gorm.DB) error {
|
|
// 如果是第一次运行 直接跳过
|
|
if !db.Migrator().HasTable("channels") {
|
|
return nil
|
|
}
|
|
|
|
m := gormigrate.New(db, gormigrate.DefaultOptions, []*gormigrate.Migration{
|
|
removeKeyIndexMigration(),
|
|
})
|
|
return m.Migrate()
|
|
}
|