I’m using liquibase 3.1.1 and oracle 11g.
I used the generateChangeLog command from the command line against my development database. Then I used the updateDatabase command from ant against a new schema. So basically I’m exporting from one schema to create a base set of ddl and then using it to create a new schema.
The updateDatabase command worked perfectly until it got to this changeset:
It fails with an Oracle error:
Error executing SQL CREATE UNIQUE INDEX LIQUIBASE.PRACTICE_U1 ON LIQUIBASE.PRACTICE(SYS_NC00028$): ORA-00904: “SYS_NC00028$”: invalid identifier
But if I go into Toad and ask it to create the script for that index I get this:
DROP INDEX EMR.PRACTICE_U1;
CREATE UNIQUE INDEX EMR.PRACTICE_U1 ON EMR.PRACTICE
(UPPER(“DIRECTADDRESSDOMAIN”))
LOGGING
TABLESPACE EMRD
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
NOPARALLEL;
Other indexes were created correctly. It’s just this one that has a problem. Why would liquibase have gotten that column name?
-
Learn
-
Resources
-
Free Tools
OSS Risk Scanner Database DevOps Risk AssessmentCheat Sheets
Snowflake + Liquibase Databricks + Liquibase -
eBooks
6 Liquibase Community Risks & How to Avoid Guide: SOC 2 Compliance at the Database Layer Guide: Quantify the Value of Liquibase Secure -
Comparison Guides
Liquibase vs. Flyway Liquibase vs. Bytebase Liquibase Community vs Liquibase Secure
-
- Quickstart
- Get Started
- Documentation
- University
-
Resources
- Connect
- Contribute
- Join
- Blog