package emspara import ( "fmt" "fwh-toolbox-server/domain" "fwh-toolbox-server/repositories" "gorm.io/driver/sqlite" "gorm.io/gorm" ) // SyncRedis 全量同步 SQLite -> Redis func SyncRedis() error { // 打开 SQLite db, err := gorm.Open(sqlite.Open("./utils/emspara/emspara.db"), &gorm.Config{}) if err != nil { return fmt.Errorf("failed to connect database: %w", err) } // 自动建表 if err := db.AutoMigrate(&domain.ParamsVidMacroModel{}, &domain.ParamsPidMacroModel{}); err != nil { return err } var vidMacros []domain.ParamsVidMacroModel if err := db.Find(&vidMacros).Error; err != nil { return err } var pidMacros []domain.ParamsPidMacroModel if err := db.Find(&pidMacros).Error; err != nil { return err } if err := repositories.UpdateEmspara(vidMacros, pidMacros); err != nil { return err } return nil }