mirror of
https://github.com/tnb-labs/panel.git
synced 2026-08-29 02:10:58 +08:00
25 lines
516 B
Go
25 lines
516 B
Go
package migration
|
|
|
|
import (
|
|
"github.com/go-gormigrate/gormigrate/v2"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
var Migrations []*gormigrate.Migration
|
|
|
|
const batchSize = 1000
|
|
|
|
func vacuumDB(db *gorm.DB) error {
|
|
if err := db.Exec("PRAGMA wal_checkpoint(TRUNCATE)").Error; err != nil {
|
|
return err
|
|
}
|
|
if err := db.Exec("VACUUM").Error; err != nil {
|
|
return err
|
|
}
|
|
// 写回 VACUUM 结果并截断文件
|
|
if err := db.Exec("PRAGMA wal_checkpoint(TRUNCATE)").Error; err != nil {
|
|
return err
|
|
}
|
|
return db.Exec("PRAGMA optimize").Error
|
|
}
|