A dynamic use-case, need suggestions

Hi All,

I am new to Liquibase and not sure if it can help me with my specific use-case.  I am using Apache UIMA which generates an object graph with each object assigned a type from a declared type system. A UIMA type system is a set of strings that represent types, properties, etc. and is represented as strings (not Java types).  I would like to use the type system description to generate a database schema. Once a schema is generated (an initial change-set in Liquibase?), I would like to compare it with the existing database to discover which changes need to occur so that the schema matches the type system. The UIMA objects will then be written to the database.

Any suggestions for how to approach this by using Liquibase?  I would like to avoid having to manually maintain a change log because the type system has the information needed to generate a database schema. Also, I am trying to develop a UIMA component that can simply be dropped by other UIMA users who are familiar with UIMA but not with Liquibase.  The idea is that this component will be responsible for persisting the data in the database according to the type system without any additional work by end users.

However, I am not sure how I can use Liquibase to do this. I will probably need additional metadata to specify any renaming that might occur within the type system but by default I would not mind if outdated database tables or columns are just deleted and the new ones created even if the change was a rename. Thank you in advance for any help!

A description of the UIMA type system can be found at: 
http://uima.apache.org/d/uimaj-2.4.0/tutorials_and_users_guides.html#ugr.tug.aae.defining_types
http://uima.apache.org/d/uimaj-2.4.0/references.html#ugr.ref.xml.component_descriptor.type_system

Best,
Shahim