wecisecode 1 هفته پیش
والد
کامیت
a23d47fb17
5فایلهای تغییر یافته به همراه13 افزوده شده و 9 حذف شده
  1. 1 1
      datasync/build.sh
  2. 2 1
      datasync/datasync.conf
  3. 7 4
      datasync/datasync/datasync.go
  4. 1 1
      go.mod
  5. 2 2
      go.sum

+ 1 - 1
datasync/build.sh

@@ -2,7 +2,7 @@
 
 installpath=`go env GOPATH | awk -F ':' '{print $1}'`/bin
 
-GOOS=linux go install
+CGO_ENABLED=0 GOOS=linux go build -o ${installpath}/linux_amd64/datasync
 
 cp datasync.conf ${installpath}/linux_amd64
 cp datasync.sh ${installpath}/linux_amd64

+ 2 - 1
datasync/datasync.conf

@@ -38,7 +38,8 @@ deny.class=/testruledata
 deny.class=/aywl/
 
 # 类映射
-# mapping.class.fromclass=toclass
+# mapping.class.<fromclass>=<toclass>
+mapping.class./matrix/ldap=/matrix/xxxx
 
 # 指定建类语句等初始化mql语句,可以是mql文件或mql语句,默认根据原始元数据信息自动建类
 # 尚未实现定制化

+ 7 - 4
datasync/datasync/datasync.go

@@ -35,7 +35,7 @@ type DataSync struct {
 	tokeyspace      string
 	todc            string
 	fromdata        []string
-	classmapping    map[string]string
+	classmapping    map[string][]string
 	datatimesince   time.Duration
 	buckettimesince time.Duration
 	ctx             context.Context
@@ -297,10 +297,13 @@ func (ds *DataSync) syncclassdata(cifrom *dbo.ClassInfoHelper, fields, condition
 	}
 	// 确定目标类已创建
 	toclass := ds.classmapping[cifrom.Fullname]
-	if toclass == "" {
-		toclass = cifrom.Fullname
+	if len(toclass) > 1 {
+		return merrs.New("datasync.mapping.class config error, should be map to one class only", []string{"fromclass", cifrom.Fullname, "toclass", fmt.Sprint(toclass)})
 	}
-	cito, e := ds.assureToClass(toclass, cifrom)
+	if len(toclass) == 0 || toclass[0] == "" {
+		toclass = []string{cifrom.Fullname}
+	}
+	cito, e := ds.assureToClass(toclass[0], cifrom)
 	if e != nil {
 		return merrs.New(e)
 	}

+ 1 - 1
go.mod

@@ -6,7 +6,7 @@ toolchain go1.24.5
 
 require (
 	git.wecise.com/wecise/odb-go v0.0.0-20250905072406-e0b4d1274a21
-	gitee.com/wecisecode/util v0.6.4
+	gitee.com/wecisecode/util v0.6.8
 	github.com/scylladb/go-set v1.0.3-0.20200225121959-cc7b2070d91e
 	github.com/spf13/cast v1.7.1
 )

+ 2 - 2
go.sum

@@ -2,8 +2,8 @@ git.wecise.com/wecise/odb-go v0.0.0-20250905072406-e0b4d1274a21 h1:eOgzuB0eu5wOy
 git.wecise.com/wecise/odb-go v0.0.0-20250905072406-e0b4d1274a21/go.mod h1:r9fQ/IV3E2jYTEyvbkl/KmFov7NdJsfZ0A8LJeSaci0=
 git.wecise.com/wecise/util v0.0.0-20250905072004-03c62a4f8b4f h1:h2Dfz8JZXksHzxkh6bGZ3de9soUMOFJIE3UtkPoTC94=
 git.wecise.com/wecise/util v0.0.0-20250905072004-03c62a4f8b4f/go.mod h1:QKWJa70rL4bA4SWuH5sS3QAraETdUyVetNtBYmM1Vgo=
-gitee.com/wecisecode/util v0.6.4 h1:SNfXWGG4N2u4WFpGxwXauMlge5tHICWRIwvqE0x/tG8=
-gitee.com/wecisecode/util v0.6.4/go.mod h1:da49ZLqcSfpA+zYJhhc67Xw0sKVw8dCaaZSTzzr513s=
+gitee.com/wecisecode/util v0.6.8 h1:vFwHrBvws5EmPKiDmdBKWYaucPNtca/Ahs9e+ucNVXc=
+gitee.com/wecisecode/util v0.6.8/go.mod h1:da49ZLqcSfpA+zYJhhc67Xw0sKVw8dCaaZSTzzr513s=
 github.com/bluele/gcache v0.0.2 h1:WcbfdXICg7G/DGBh1PFfcirkWOQV+v077yF1pSy3DGw=
 github.com/bluele/gcache v0.0.2/go.mod h1:m15KV+ECjptwSPxKhOhQoAFQVtUFjTVkc3H8o0t/fp0=
 github.com/bsm/ginkgo/v2 v2.7.0 h1:ItPMPH90RbmZJt5GtkcNvIRuGEdwlBItdNVoyzaNQao=