Can you recommend a strategy for supporting multiple RDBMS vendors

You can use dbms=“oracle” and dbms=“mssql” in your changesets, so you have 2 times the same changeset, one for oracle and the other for mssql. This case is when you have or that contains specific code for a given DB. If you use you can have just 1 changeset with the table creation and will work for both databases.


Basically, if you can use liquibase refactorings you can share changesets, if not you put for which specific dbms you want to run the changesets and only on that db they will be exceuted. But you always run liquibase using the same input xml file.

We have to support Oracle 11G, DB2 9.7 and SQL server 2008 R2 and are considering using liquibase to manage database our installation and upgrade. Obviously there are syntactical differences between the 3 vendors (very little between DB2 and Oracle these days) i.e. Oracle Sequences vs MSS identity columns. Most of the ;post here and the doco seem to be related to running a single RDBMS, so first question is can liquibase  support all three RDBMS platforms and if so a follow up question is there a best practice for managing the syntactical differences?

Thats great news.

Dont suppose you or some one else has an example to hand. Ive read through the refactoring documentation, but have yet to find anything on the dbms= option

Thanks

Mike

Nathan,

Thanks

Mike

The dbms attribute is directly on the changeSet tag  http://www.liquibase.org/manual/changeset if you haven’t found that yet.


Nathan