fix: move timeout migration outside schema version check
This commit is contained in:
@@ -16,7 +16,7 @@ import (
|
||||
// 触发一次 AutoMigrate 并把新版本写入库(SQLite 用 PRAGMA user_version)。
|
||||
// AutoMigrate 对已有表的列判定不收敛(每次都重建表:CREATE __temp + INSERT SELECT + DROP),
|
||||
// 大表上一次重建数十秒且每次重启重演,所以之后版本未变就直接跳过。
|
||||
const schemaVersion = 2
|
||||
const schemaVersion = 1
|
||||
|
||||
// Open 打开数据库连接并自动迁移。
|
||||
// 开发默认 SQLite(dsn 支持 file:...?_journal_mode=WAL),生产可切 postgres。
|
||||
@@ -48,13 +48,12 @@ func Open(driver, dsn string) (*gorm.DB, error) {
|
||||
if err := db.AutoMigrate(AllModels()...); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// v2: 将已有渠道的超时时间从 120000ms 更新为 300000ms
|
||||
db.Model(&Channel{}).Where("timeout_ms = ?", 120000).Update("timeout_ms", 300000)
|
||||
log.Println("store: migrated schema v1 -> v2: updated channel timeout_ms to 300000")
|
||||
if driver != "postgres" {
|
||||
setSQLiteVersion(db, schemaVersion)
|
||||
}
|
||||
log.Printf("store: connected driver=%s (migrated, schema v%d)", driver, schemaVersion)
|
||||
// 将已有渠道的超时时间从 120000ms 更新为 300000ms(幂等操作)
|
||||
db.Model(&Channel{}).Where("timeout_ms = ?", 120000).Update("timeout_ms", 300000)
|
||||
return db, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user