If you want to use database that is not currently supported, you can implement your own driver. To do so, you will need to design 4 classes:
Platform is a class that provides information about available features of given driver:
Part of platform is a
SchemaHelper, that provides information about how to build schema.
Next part is connection wrapper, that will be responsible for querying the database:
Last part is driver, that is responsible for using the connection to persist changes to
database. If you are building SQL driver, it might be handy to extend
if not, extend
DatabaseDriver abstract class.
If you want to have absolute control, you can implement the whole driver yourself via