addForeignKeyConstraint is not supported on hsqldb


I’m trying to use an in memory instance of HSQLDB for some testing with spring however I am getting a bunch of the following errors:

addForeignKeyConstraint is not supported on hsqldb, classpath:db-changelog.xml::1284765412511-799::sam(generated)::(Checksum: 2:812204f30d042278e422b4e7c9d0db01)

The documentation says this is a supported operation for this database.

here is a line from the changelog


It should be noted that I did generate the changelog from an Oracle db using the instructions specified here:

I had thought the operations between supported databases should be transparent. Is this not the case here?


They generally are, but there are some times that they aren’t.  I think the problem is the deferrable and initiallyDeferred attributes.  Oracle supports them, but HSQL does not.  If you take them out they should run better on both.

In 2.0 we made the validation a bit smarter so it only fails if you are asking for true values for deferrable or initiallyDeferrable.