emspara.go 853 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package emspara
  2. import (
  3. "fmt"
  4. "fwh-toolbox-server/domain"
  5. "fwh-toolbox-server/repositories"
  6. "gorm.io/driver/sqlite"
  7. "gorm.io/gorm"
  8. )
  9. // SyncRedis 全量同步 SQLite -> Redis
  10. func SyncRedis() error {
  11. // 打开 SQLite
  12. db, err := gorm.Open(sqlite.Open("./utils/emspara/emspara.db"), &gorm.Config{})
  13. if err != nil {
  14. return fmt.Errorf("failed to connect database: %w", err)
  15. }
  16. // 自动建表
  17. if err := db.AutoMigrate(&domain.ParamsVidMacroModel{}, &domain.ParamsPidMacroModel{}); err != nil {
  18. return err
  19. }
  20. var vidMacros []domain.ParamsVidMacroModel
  21. if err := db.Find(&vidMacros).Error; err != nil {
  22. return err
  23. }
  24. var pidMacros []domain.ParamsPidMacroModel
  25. if err := db.Find(&pidMacros).Error; err != nil {
  26. return err
  27. }
  28. if err := repositories.UpdateEmspara(vidMacros, pidMacros); err != nil {
  29. return err
  30. }
  31. return nil
  32. }