Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AWS DMS Issue with boolean column

I'm trying to enable replication with DMS, using as source an Aurora mySQL instance and as destination a Redshift instance. The replication fails on boolean columns. I have declared the boolean column as BIT(1) on the mySQL instance. According to the documentation boolean columns in mySQL should be defined as BIT:

https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.DataTypes

If I remove the boolean column it works. I also tried to define the column as Boolean. That did not work either.

This is the error I'm getting:

2018-08-26T16:59:19 [TARGET_APPLY ]E: RetCode: SQL_ERROR SqlState: 42804 NativeError: 30 Message: [Amazon][Amazon Redshift] (30) Error occurred while trying to execute a query: [SQLState 42804] ERROR: column "state" is of type boolean but expression is of type character varying, HINT: You will need to rewrite or cast the expression. [1022502] (ar_odbc_stmt.c:4428)

like image 275
Spiff Avatar asked Aug 05 '26 15:08

Spiff


1 Answers

This turns out to be a bug of DMS. This occurs only during ongoing replication, and not in full load. During replication the from Aurora MySql to Redshift the boolean is cast to Varchar resulting the error above.

like image 200
Spiff Avatar answered Aug 08 '26 11:08

Spiff



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!