- Newest
- Most votes
- Most comments
The issue you're experiencing with AWS DMS ignoring the LONGTEXT column during migration is likely due to how DMS handles LOB (Large Object) data types.
DMS considers data types such as LONGTEXT as LOB fields during migration. When migrating to S3, DMS has some limitations in handling LOB data. Specifically, DMS doesn't support LOB data unless it is a CLOB (Character Large Object).
In your case, even though you've set the Limited LOB Mode with a max file size greater than your data, the column is still being excluded. This could be because DMS is treating the LONGTEXT column as a binary LOB rather than a character LOB.
To resolve this issue, you could try the following:
-
In your task settings, ensure that "SupportLobs" is set to true in the "TargetMetadata" section.
-
Try setting "InlineLobMaxSize" in addition to "LobMaxSize". This tells DMS to inline LOBs up to this size directly in the record, which might help with your LONGTEXT column.
-
Consider changing the data type of the column in the source database from LONGTEXT to TEXT or MEDIUMTEXT if possible. DMS might handle these types differently.
-
If the data in the LONGTEXT column is always valid JSON (as suggested by your CHECK constraint), you could try mapping it as a JSON type in your task settings. This might change how DMS handles the column.
-
As a workaround, you could create a view in your source database that casts the LONGTEXT column to a VARCHAR type, and migrate from this view instead of the original table.
If these solutions don't work, you may need to contact AWS support for further assistance, as there might be an underlying issue with how DMS is interpreting your specific LONGTEXT column.
Sources
Step-by-step Amazon RDS for MySQL database to Amazon DynamoDB migration walkthrough - Database Migration Guide
AWS DMS Failing to Migrate Tables with LOBs and JSONB Columns | AWS re:Post
Relevant content
- AWS OFFICIALUpdated 3 years ago
