In MySQL, TINYINT(1) and boolean are synonymous. Because of this, the MySQL driver implicitly converts the TINYINT(1) fields to boolean if the the Java tinyInt1isBit configuration property is set to true (which is the default) and the storage size is 1. Stitch then interprets these columns as BIT(1)/boolean.

For more info, refer to MySQL’s Java and MySQL Types documentation.

To work around this, you have a few options:

  • In the source, you can change the data type for the affected column to something that isn’t synonymous with boolean, such as TINYINT(4).
  • If you’d prefer not to change the data type, you can create a view on top of the table and then define the data type for the affected column in that view to be TINYINT(4) or the data type you choose. The view can then be set up to be replicated through Stitch.

Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.