Schema conversion for cross-engine migrations -- identifying incompatible data types, constraints, indexes, and procedural objects, and resolving each incompatibility before data migration starts. Data transformation logic for records that require format conversion, normalisation, or denormalisation as part of the migration. Transformation scripts built and tested against a full copy of production data in a staging environment before the live migration runs. The schema conversion that arrives at migration day with all incompatibilities resolved, not discovered during the cutover window.
AWS Schema Conversion Tool generates a conversion assessment report categorising each schema object as automatically converted, converted with modifications, or requiring manual rewrite. Common manual resolution items include Oracle NUMBER(p,s) columns mapped to PostgreSQL NUMERIC with explicit precision, PL/SQL cursor loops rewritten as PL/pgSQL, Oracle ROWNUM pagination replaced with PostgreSQL LIMIT/OFFSET or keyset pagination, and MSSQL-specific functions (GETDATE, ISNULL, CHARINDEX) replaced with PostgreSQL equivalents (NOW(), COALESCE, STRPOS). MySQL 5.7 to 8.0 migrations require charset and collation audit -- tables with latin1 or utf8 (3-byte) encoding must be converted to utf8mb4 before migrating to Aurora MySQL 8.0, and any implicit charset conversion in stored procedures must be made explicit. PostgreSQL major version upgrades (12 to 16) require extension compatibility checks: PostGIS, pg_cron, pglogical, and custom extensions must be verified against the target version's extension catalogue. Transformation scripts are validated with row-count checksums per table and sample data comparison on a 5% random sample before the production cutover window opens.