refactor: replace per-dialect extractors with generic extractor

Collapse the mssql- and postgres-specific extractors into a single generic implementation driven by the DB dialect interface.
This commit is contained in:
2026-04-28 18:00:00 -05:00
parent f8e6c19431
commit 70ce71f59b
12 changed files with 332 additions and 384 deletions

View File

@@ -118,7 +118,7 @@ func processMigrationJobs(
sourceTableAnalyzer := table_analyzers.NewMssqlTableAnalyzer(sourceDb)
targetTableAnalyzer := table_analyzers.NewPostgresTableAnalyzer(targetDb)
extractor := extractors.NewMssqlExtractor(sourceDb)
extractor := extractors.NewExtractor(sourceDb)
loader := loaders.NewGenericLoader(targetDb)
var azureClient *azure.Client

View File

@@ -39,7 +39,7 @@ func processMigrationJob(
targetDbWrapper dbwrapper.DbWrapper,
sourceTableAnalyzer etl.TableAnalyzer,
targetTableAnalyzer etl.TableAnalyzer,
extractor etl.Extractor,
extractor extractors.GenericExtractor,
azureClient *azure.Client,
loader etl.Loader,
job config.Job,
@@ -155,9 +155,8 @@ func processMigrationJob(
for range maxExtractors {
wgExtractors.Go(func() {
extractors.Consume(
extractor.Consume(
localCtx,
extractor,
job.SourceTable,
sourceColTypes,
job.BatchSize,