diff --git a/server/internal/store/db.go b/server/internal/store/db.go index b3f603d..0cc5e7c 100644 --- a/server/internal/store/db.go +++ b/server/internal/store/db.go @@ -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 }