From 8324f872ef3a4d0c978a9b1d062800c6a1701c12 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 01 十二月 2023 09:58:17 +0800 Subject: [PATCH] fix --- model/index.go | 64 +++++++++++++++++++++++++++----- 1 files changed, 54 insertions(+), 10 deletions(-) diff --git a/model/index.go b/model/index.go index ee5a72f..504d8c2 100644 --- a/model/index.go +++ b/model/index.go @@ -3,23 +3,67 @@ import ( "apsClient/conf" "apsClient/pkg/logx" - "apsClient/pkg/mysqlx" + "apsClient/pkg/sqlitex" + "sync" ) func Init() error { - if err := mysqlx.Init(&conf.Conf.Mysql, logx.GetLogger()); err != nil { + if err := sqlitex.Init(&conf.Conf.Sqlite); err != nil { return err } - if err := RegisterTables(); err != nil { - return err - } - + RegisterTables() + InsertDefaultData() return nil } -func RegisterTables() error { - db := mysqlx.GetDB() - err := db.AutoMigrate() - return err +func RegisterTables() { + db := sqlitex.GetDB() + db.AutoMigrate( + Order{}, + Procedures{}, + NetConfig{}, + PlcBrand{}, + DevicePlc{}, + ProcessModel{}, + Device{}, + TaskStatusSync{}, + SystemStatus{}, + ProcessModelPlcAddress{}, + ReportsToCloud{}, + ReportWork{}, + ) +} + +type InitDefaultData interface { + InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) +} + +func InsertDefaultData() { + errCh := make(chan error, 2) + var wg sync.WaitGroup + + models := []interface{}{ + NewNetConfigSearch(nil), + NewPlcBrandSearch(), + NewSystemStatusSearch(), + } + + for _, model := range models { + if id, ok := model.(InitDefaultData); ok { + wg.Add(1) + go id.InitDefaultData(errCh, &wg) + } + } + + go func() { + wg.Wait() // 绛夊緟鎵�鏈塯oroutine瀹屾垚 + close(errCh) // 鍏抽棴閿欒閫氶亾 + }() + + for err := range errCh { + if err != nil { + logx.Errorf("InitDefaultData err: %v", err.Error()) + } + } } -- Gitblit v1.8.0