Hi @ronak ,
in the old version of Liquibase some Data Types and Sequence Statements had to be adapted and registered because HANA database were not supported by Liquibase. We tried to adapt those classes to the new version of Liquibase but found out that there is already an extension doing this.
Due to the fact that it is quite an old project, some of the data types like Boolean are still incompatible with the new version of the extension and HANA DB. Boolean is represented as SMALLINT instead of BOOLEAN in the database.
Regarding your question how we are using Liquibase. It is used and loaded together with spring in a subclass of SpringLiquibase (via the application context). The corresponding supported Databases are loaded. We do a clear of the database registry and after that register only the ones we would like to support.
final DatabaseFactory df = DatabaseFactory.getInstance();
So this loads only the HANA DB extension.
When we start our server we see an exception that the type BOOLEAN is not comparable with type SMALLINT. So as a next step we have extended the class BooleanTypeHana of the Liquibase HANA extension. We have only overwritten the method toDatabaseDataType to return the DatabaseDataType SMALLINT instead of BOOLEAN.
In the subclass of SpringLiquibase we unregister the original BooleanTypeHana and register our own LiquibaseDataType.
DataTypeFactory dtf = DataTypeFactory.getInstance();
This doesn´t seem to be working and we are still getting the same error/exception.
inconsistent datatype: BOOLEAN type is not comparable with SMALLINT type
Do you know how to get that error solved? The unregister und register doesn´t seem to have any effect.
Thanks and best regards,