Function-based index

I run liquibase 1.9.5 on an Oracle 10 database.

I run generateChangeLog in order to get a snapshot of the database as it looks like. On of the indeces we have is defined like this if you look at it in TOAD.

CREATE INDEX myIndex ON myTable (UPPER(“myColumn”))

The generateChangeLog generates a createIndex changeSet with column name = SYS_NC00007$ which obiously is not the name of the column. The result is that when I run the changeLog I get “ORA-00904: SYS_NC00007$: Invalid identifier”

Is that something that is possible to do something about?

Best regards /Lasse

Unfortunately no.  Our diff tool isn’t currently smart enough to handle more complex objects like functional indexes. 

Nathan

Unfortunately there is no plans yet. The best approach for database-specific or more complex data objects such as yours is to manually fix the generated changelog based on your knowledge of the database. The generateChangeLog command is designed as a helpful bootstrap mechanism for starting to use liquibase, and not something that should be expected to handle all cases.


Nathan

Hi Nathan / Lasse,

I’m also facing the same issue related to function based index.
Do we have any work around for this?
Do you have any idea whether this issue have been resolved in new version or planning in later release?

Your help on this will be highly appreciated!!!

Thanks & Regards… Bhavesh R. Mehta