diff --git a/src/migrator/state_manager.py b/src/migrator/state_manager.py index 90fd4d6..5b3a1e3 100644 --- a/src/migrator/state_manager.py +++ b/src/migrator/state_manager.py @@ -7,7 +7,7 @@ Tracks migration progress with: - status: pending, in_progress, completed """ from typing import Optional, Dict, Any -from datetime import datetime +from datetime import datetime, timezone import json from src.connectors.postgres_connector import PostgreSQLConnector @@ -199,7 +199,7 @@ class StateManager: if mark_completed: updates.append("migration_completed_at = %s") - params.append(datetime.utcnow()) + params.append(datetime.now(timezone.utc)) if status is None: updates.append("status = 'completed'") diff --git a/src/transformers/schema_transformer.py b/src/transformers/schema_transformer.py index 58a9da8..cc1a74d 100644 --- a/src/transformers/schema_transformer.py +++ b/src/transformers/schema_transformer.py @@ -183,8 +183,8 @@ CREATE TABLE IF NOT EXISTS migration_state ( table_name VARCHAR(255) NOT NULL, partition_name VARCHAR(255) NOT NULL, last_key JSONB, - migration_started_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - migration_completed_at TIMESTAMP, + migration_started_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP, + migration_completed_at TIMESTAMPTZ, total_rows_migrated BIGINT DEFAULT 0, status VARCHAR(32) DEFAULT 'pending', PRIMARY KEY (table_name, partition_name),