Commit Graph

18 Commits

Author SHA1 Message Date
70ce71f59b 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.
2026-04-28 18:00:00 -05:00
f8e6c19431 refactor: switch config to cleanenv and remove unused dependencies
Migrate config loading to cleanenv and drop unused dependencies and legacy config plumbing.
2026-04-25 11:00:00 -05:00
933a7572d5 feat: integrate azure storage handling in migration pipeline
Stream transformer output to an Azure blob container when a job declares ToStorage, with per-job prefix and credential configuration.
2026-04-21 15:00:00 -05:00
f0caa55a21 feat: add source and target database type fields
Add source_db_type and target_db_type to the migration config so the same binary can drive any supported direction.
2026-04-17 13:00:00 -05:00
ecf0937a53 feat: add database wrapper interfaces for mssql and postgres
Introduce a DB dialect interface and per-dialect wrappers that expose connection, query and column type operations with pre/post SQL hooks.
2026-04-15 19:00:00 -05:00
74abf12dcf feat: add exponential backoff retry strategy
Introduce a retry policy with exponential backoff and jitter for extractor and loader errors, with configurable max attempts and delay caps.
2026-04-13 14:00:00 -05:00
7f3d2b8cc4 refactor: rename Batch to Partition across pipeline
Rename internal types and channels from Batch to Partition for consistency with the data model.
2026-04-11 18:00:00 -05:00
1f8689cdfc feat: add configuration parsing and job definitions
Add a YAML config schema for migration jobs (source/target schema, table, primary key, options) and parse it at startup.
2026-04-10 14:00:00 -05:00
4f181269a4 feat: add extract query builders for both dialects
Add QueryFromObject helpers to build select queries from a table schema, with limits and geometry support.
2026-04-09 16:00:00 -05:00
c5987fa7f8 feat: add type transformations (uuid, wkb, datetime)
Apply row-level transformations for special mssql types: uniqueidentifier, geometry/geography (WKB to EWKB) and datetime (UTC).
2026-04-08 11:00:00 -05:00
92f010a9a6 feat: add logging and migration runner skeleton
Wire a structured logger and a top-level migration job that drives extract, transform and load stages.
2026-04-06 13:00:00 -05:00
6d805dd372 feat: add mssql data extraction
Add an initial mssql extraction script that streams rows from a source table.
2026-04-04 18:00:00 -05:00
f7b8dd73d4 refactor: unify database url configuration
Consolidate source/target connection handling around a single URL-based configuration model.
2026-04-03 14:00:00 -05:00
d36b089916 feat: add dynamic query building and type casting
Build SQL queries from column metadata and apply type casts for special postgres types (uuid, jsonb, geometry, etc.).
2026-04-02 11:00:00 -05:00
f6bd1da7ef feat: add data extraction from postgres
Implement extractData to stream rows from a postgres source table.
2026-04-01 13:00:00 -05:00
438b6afa1c feat: add postgres connection helper
Add a thin wrapper around pgx to open and verify a Postgres connection from a URL or individual parameters.
2026-04-01 09:00:00 -05:00
69ea51a8b6 feat: add config module with env and yaml loading
Introduce a typed configuration layer loaded from environment variables and a YAML file.
2026-03-31 14:00:00 -05:00
3e1db7b9e4 chore: init project with go.mod and base layout
Bootstrap the go-migrate project:
- go.mod (Go 1.26)
- cmd/ entrypoint skeleton
- base .gitignore and config files
2026-03-31 09:00:00 -05:00