Hi,
How can I handle foreign key constraints for multiple databases? For example, I have the following snippet from a changeset.
<addForeignKeyConstraint baseColumnNames=“id”
baseTableName=“BaseTable”
constraintName=“FK”
onDelete=“NO ACTION”
onUpdate=“NO ACTION”
referencedColumnNames=“id”
referencedTableName=“AnotherTable”/>
In Firebird it works fine, but not in Oracle. I believe that “CASCADE” and “SET NULL” are the only choices that will work with Oracle. I thought about using parameters, where for firebird, mysql, etc the parameter would be set to “NO ACTION” and for oracle, it would just be an empty string. But that violates the liquibase schema and results in a ChangeLogParseException. It would be nice if the DB was Oracle that those two fields were just ignored if not set to “CASCADE” or “SET NULL”. I believe that if auto incrementing is true in the column tag, it is ignored on oracle and firebird since it is not supported.
Any other idea’s on how to get this to work for Oracle and other DB’s.
Thanks,
Alana