(taskName string, internalTaskConfig common.DtleTaskConfig, allocsFromNomad []nomadApi.Allocation)
| 980 | } |
| 981 | |
| 982 | func buildSrcTaskDetail(taskName string, internalTaskConfig common.DtleTaskConfig, allocsFromNomad []nomadApi.Allocation) (srcTaskDetail models.SrcTaskDetail) { |
| 983 | convertInternalMysqlDataSourceToApi := func(internalDataSource []*common.DataSource) []*models.DataSourceConfig { |
| 984 | apiMysqlDataSource := []*models.DataSourceConfig{} |
| 985 | for _, db := range internalDataSource { |
| 986 | tables := []*models.TableConfig{} |
| 987 | for _, tb := range db.Tables { |
| 988 | tables = append(tables, &models.TableConfig{ |
| 989 | TableName: tb.TableName, |
| 990 | TableRegex: tb.TableRegex, |
| 991 | TableRename: tb.TableRename, |
| 992 | ColumnMapFrom: tb.ColumnMapFrom, |
| 993 | ColumnMapTo: tb.ColumnMapTo, |
| 994 | Where: tb.Where, |
| 995 | }) |
| 996 | } |
| 997 | apiMysqlDataSource = append(apiMysqlDataSource, &models.DataSourceConfig{ |
| 998 | TableSchema: db.TableSchema, |
| 999 | TableSchemaRegex: db.TableSchemaRegex, |
| 1000 | TableSchemaRename: db.TableSchemaRename, |
| 1001 | Tables: tables, |
| 1002 | }) |
| 1003 | } |
| 1004 | return apiMysqlDataSource |
| 1005 | } |
| 1006 | |
| 1007 | replicateDoDb := convertInternalMysqlDataSourceToApi(internalTaskConfig.ReplicateDoDb) |
| 1008 | replicateIgnoreDb := convertInternalMysqlDataSourceToApi(internalTaskConfig.ReplicateIgnoreDb) |
| 1009 | srcTaskDetail.TaskConfig = models.SrcTaskConfig{ |
| 1010 | TaskName: taskName, |
| 1011 | GroupMaxSize: internalTaskConfig.GroupMaxSize, |
| 1012 | ChunkSize: internalTaskConfig.ChunkSize, |
| 1013 | DropTableIfExists: internalTaskConfig.DropTableIfExists, |
| 1014 | SkipCreateDbTable: internalTaskConfig.SkipCreateDbTable, |
| 1015 | ReplChanBufferSize: internalTaskConfig.ReplChanBufferSize, |
| 1016 | ReplicateDoDb: replicateDoDb, |
| 1017 | ReplicateIgnoreDb: replicateIgnoreDb, |
| 1018 | GroupTimeout: internalTaskConfig.GroupTimeout, |
| 1019 | SQLFilter: internalTaskConfig.SqlFilter, |
| 1020 | } |
| 1021 | |
| 1022 | connectionConfig := new(models.DatabaseConnectionConfig) |
| 1023 | if internalTaskConfig.SrcOracleConfig != nil { |
| 1024 | connectionConfig.DatabaseType = "Oracle" |
| 1025 | connectionConfig.Host = internalTaskConfig.SrcOracleConfig.Host |
| 1026 | connectionConfig.Port = internalTaskConfig.SrcOracleConfig.Port |
| 1027 | connectionConfig.User = internalTaskConfig.SrcOracleConfig.User |
| 1028 | connectionConfig.Password = internalTaskConfig.SrcOracleConfig.Password |
| 1029 | connectionConfig.ServiceName = internalTaskConfig.SrcOracleConfig.ServiceName |
| 1030 | } else if internalTaskConfig.SrcConnectionConfig != nil { |
| 1031 | connectionConfig.DatabaseType = "MySQL" |
| 1032 | connectionConfig.Host = internalTaskConfig.SrcConnectionConfig.Host |
| 1033 | connectionConfig.Port = internalTaskConfig.SrcConnectionConfig.Port |
| 1034 | connectionConfig.User = internalTaskConfig.SrcConnectionConfig.User |
| 1035 | connectionConfig.Password = internalTaskConfig.SrcConnectionConfig.Password |
| 1036 | srcTaskDetail.TaskConfig.MysqlSrcTaskConfig = &models.MysqlSrcTaskConfig{ |
| 1037 | ExpandSyntaxSupport: internalTaskConfig.ExpandSyntaxSupport, |
| 1038 | AutoGtid: internalTaskConfig.AutoGtid, |
| 1039 | Gtid: internalTaskConfig.Gtid, |
no test coverage detected