Mysql, boolean values and TinyIntFormat

I noticed a problem in the configuration of the Mysql SQLdialect:
By default Aurelius, uses T & F in Char(1) columns for boolean values.
If the following is used

with (TSQLGeneratorRegister.GetInstance.GetGenerator('MySQL') as TMySQLSQLGenerator) do
UseBoolean:=true;

to have Aurelius to pass boolean values, Aurelius creates BIT type columns for boolean values and that generally compatible with others systems.

BUT with FireDAC we have a problem:
For Mysql, Firedac has an other configuration option:
TinyIntFormat Controls the TINYINT(1) representation. The default value is Boolean.

  • Boolean - TINYINT(1) columns are represented as dtBoolean.
  • Integer - TINYINT(1) columns are represented as dtSByte or dtByte.

if TinyIntformat is configured to be dtSByte or dtByte for TINYINT then BIT fields are not updated.

I think the best way to overcome this is to have custom values for boolean values that could 'T' or '1' and 'F' or '0' (if the above UseBoolean option is false) and an other config option in the SQLdialect to set to be created BIT or CHAR(1) and (why not?) Byte or TinyInt.

I think this is overcomplicating. Why can't you just modify the FireDAC settings? We intend to release a "custom type" in future Aurelius release so users (developers) can configure whatever conversion between the Delphi type and the database type. So for now we are avoiding hard coding conversions like this unless absolutely necessary.