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?