For Oracle, it is recommended to execute “ALTER SESSION set NLS_LENGTH_SEMANTICS = ‘CHAR’;” before executing table creation or alter scripts
I can define a changeset as follows<?xml version="1.0" encoding="UTF-8"?>
<changeSet id="liquibase-0" author="liquibase" runAlways="true" dbms="oracle"> <sql> ALTER SESSION set NLS_LENGTH_SEMANTICS = 'CHAR'; </sql> </changeSet>
However, this will always create an insert statement to databasechangelog table. databasechangelog has an unique index on id,author and filename which it means it will fail on next db update.
Am I doing it correctly?