diff --git a/common/database.go b/common/database.go index 9b52a0d5..df60bdd5 100644 --- a/common/database.go +++ b/common/database.go @@ -4,6 +4,7 @@ import "github.com/songquanpeng/one-api/common/helper" var UsingSQLite = false var UsingPostgreSQL = false +var UsingMySQL = false var SQLitePath = "one-api.db" var SQLiteBusyTimeout = helper.GetOrDefaultEnvInt("SQLITE_BUSY_TIMEOUT", 3000) diff --git a/model/main.go b/model/main.go index 49d5a918..f27cdb6f 100644 --- a/model/main.go +++ b/model/main.go @@ -56,6 +56,7 @@ func chooseDB() (*gorm.DB, error) { } // Use MySQL logger.SysLog("using MySQL as database") + common.UsingMySQL = true return gorm.Open(mysql.Open(dsn), &gorm.Config{ PrepareStmt: true, // precompile SQL }) @@ -87,6 +88,9 @@ func InitDB() (err error) { if !config.IsMasterNode { return nil } + if common.UsingMySQL { + _, _ = sqlDB.Exec("DROP INDEX idx_channels_key ON channels;") // TODO: delete this line when most users have upgraded + } logger.SysLog("database migration started") err = db.AutoMigrate(&Channel{}) if err != nil {