perf: clickhouse isolation

This commit is contained in:
ryan
2026-06-19 21:31:03 +08:00
parent a98d266278
commit d0a9958711
+20 -6
View File
@@ -5,8 +5,10 @@
package migrator
import (
"context"
"database/sql"
"embed"
"io/fs"
"log"
"time"
@@ -55,13 +57,25 @@ func MigrateClickHouse() {
BlockBufferSize: cfg.BlockBufferSize,
})
goose.SetBaseFS(clickhouseMigrationFS)
if err := goose.SetDialect("clickhouse"); err != nil {
subFS, err := fs.Sub(clickhouseMigrationFS, "goose/clickhouse")
if err != nil {
closeClickHouseDB(sqlDB)
log.Fatalf("[ClickHouse] set goose dialect failed: %v\n", err)
log.Fatalf("[ClickHouse] get sub fs failed: %v\n", err)
}
goose.SetTableName(clickhouseGooseVersionTable)
if err := goose.Up(sqlDB, clickhouseMigrationDir); err != nil {
provider, err := goose.NewProvider(
"clickhouse",
sqlDB,
subFS,
goose.WithTableName(clickhouseGooseVersionTable),
goose.WithDisableGlobalRegistry(true),
)
if err != nil {
closeClickHouseDB(sqlDB)
log.Fatalf("[ClickHouse] create goose provider failed: %v\n", err)
}
if _, err := provider.Up(context.Background()); err != nil {
closeClickHouseDB(sqlDB)
log.Fatalf("[ClickHouse] goose migrate failed: %v\n", err)
}
@@ -74,4 +88,4 @@ func closeClickHouseDB(sqlDB *sql.DB) {
if err := sqlDB.Close(); err != nil {
log.Printf("[ClickHouse] close sql db failed: %v\n", err)
}
}
}