| Migration path | Checks that the Source → Target direction is supported. |
| Source / Target connection | Checks that both servers respond using the configured accounts. |
| SQL modes | Identifies SQL modes that may not be accepted on the Target. |
| ENUM / SET | Checks certain size limits that may prevent object creation. |
| Foreign keys | Identifies, among other things, constraint names that are too long. |
| Views | Identifies view column names that are incompatible with the Target’s limits. |
| Partitioning and engine | Searches for combinations that may not be compatible with the Target. |
| utf8 / utf8mb3 | Flags objects that still use this legacy character set. |
| Collations | Checks that the collations used on the Source exist on the Target or that a known adaptation is possible. |
| Reserved words | Flags object names that correspond to reserved words on the Target. |
| DEFINER and stored objects | Helps identify views, routines, or events whose creation context or accounts may cause problems. |
| GROUP BY with ASC/DESC | Flags older syntax that should be reviewed in stored objects. |
| Null/partial dates | Identifies date values that may be rejected by the Target’s SQL rules. |
| ROW_FORMAT InnoDB | Flags older formats that may require adaptation. |
| max_allowed_packet | Warns if the Target server’s limit may be insufficient for large INSERT statements or BLOBs. |
| Additional MySQL check | For certain adjacent MySQL version upgrades, SQLmig can use MySQL Shell when it is available. |