diff --git a/config.yaml b/config.yaml index 42aee99..84449cf 100644 --- a/config.yaml +++ b/config.yaml @@ -1,6 +1,6 @@ max_parallel_workers: 4 source_db_type: sqlserver -target_db_type: postgres +target_db_type: sqlserver defaults: max_extractors: 2 diff --git a/internal/app/etl/extractors/mssql.go b/internal/app/etl/extractors/mssql.go index d34447a..919eded 100644 --- a/internal/app/etl/extractors/mssql.go +++ b/internal/app/etl/extractors/mssql.go @@ -43,9 +43,9 @@ func buildExtractQueryMssql( for i, col := range columns { fmt.Fprintf(&sbQuery, "[%s]", col.Name()) - if col.Type() == "GEOMETRY" { - fmt.Fprintf(&sbQuery, ".STAsBinary() AS [%s]", col.Name()) - } + // if col.Type() == "GEOMETRY" { + // fmt.Fprintf(&sbQuery, ".STAsBinary() AS [%s]", col.Name()) + // } if i < len(columns)-1 { sbQuery.WriteString(", ") diff --git a/internal/app/etl/table_analyzers/mssql.go b/internal/app/etl/table_analyzers/mssql.go index 4faaf21..67e7c4a 100644 --- a/internal/app/etl/table_analyzers/mssql.go +++ b/internal/app/etl/table_analyzers/mssql.go @@ -39,6 +39,8 @@ JOIN sys.schemas s ON st.schema_id = s.schema_id WHERE s.name = @schema AND st.name = @table AND (c.is_hidden = 0 OR (c.graph_type IS NOT NULL AND c.name LIKE '$%')) ORDER BY c.column_id;` +// AND c.name NOT LIKE '$%' + type rawColumnMssql struct { name string userType string diff --git a/internal/app/etl/transformers/mssql.go b/internal/app/etl/transformers/mssql.go index 7270ebb..0d67b16 100644 --- a/internal/app/etl/transformers/mssql.go +++ b/internal/app/etl/transformers/mssql.go @@ -4,7 +4,6 @@ import ( "context" "errors" "sync" - "time" "git.ksdemosapps.com/kylesoda/go-migrate/internal/app/custom_errors" "git.ksdemosapps.com/kylesoda/go-migrate/internal/app/etl" @@ -18,46 +17,7 @@ func NewMssqlTransformer() etl.Transformer { } func computeTransformationPlan(columns []models.ColumnType) []etl.ColumnTransformPlan { - var plan []etl.ColumnTransformPlan - - for i, col := range columns { - switch col.SystemType() { - case "uniqueidentifier": - plan = append(plan, etl.ColumnTransformPlan{ - Index: i, - Fn: func(v any) (any, error) { - if b, ok := v.([]byte); ok && b != nil { - return mssqlUuidToBigEndian(b) - } - return v, nil - }, - }) - - case "geometry", "geography": - plan = append(plan, etl.ColumnTransformPlan{ - Index: i, - Fn: func(v any) (any, error) { - if b, ok := v.([]byte); ok && b != nil { - return wkbToEwkbWithSrid(b, 4326) - } - return v, nil - }, - }) - - case "datetime", "datetime2": - plan = append(plan, etl.ColumnTransformPlan{ - Index: i, - Fn: func(v any) (any, error) { - if t, ok := v.(time.Time); ok { - return ensureUTC(t), nil - } - return v, nil - }, - }) - } - } - - return plan + return []etl.ColumnTransformPlan{} } const processBatchCtxCheck = 4096