drop-public-synonyms

Last updated: October 28, 2025

--drop-public-synonyms is a Boolean parameter that controls whether Liquibase includes public synonyms in drop operations when comparing databases. The default value is true. This parameter is available in Liquibase Pro and Liquibase Secure and requires a valid license.

Uses

When you run database comparison commands like diff-changelog or drop-all, Liquibase identifies database objects that exist in the target database but not in the reference database. For synonyms, Liquibase handles private and public synonyms differently:

- Private synonyms are always included in drop operations, regardless of this parameter setting - Public synonyms are included in drop operations by default (--drop-public-synonyms=true)

You may want to set --drop-public-synonyms to false in the following scenarios:

- Shared public synonyms: Your environment has enterprise-wide public synonyms that are managed separately and should not be modified during schema comparisons - Multi-application databases: Public synonyms are used by multiple applications or schemas, and dropping them would affect other systems - Selective synchronization: You want to synchronize schema-specific objects while preserving shared public synonyms

Keep the default value of true when you want complete database synchronization, including all synonym objects.

Note: This parameter applies to Oracle and SQL Server databases that support synonym objects.

Syntax

You can set this parameter in the following ways:

Option

Syntax

Liquibase properties file (defaults file)

liquibase.drop.public.synonyms:<true|false>

Global flow file argument

globalArgs: {drop-public-synonyms:"<true|false>"}

Global CLI parameter

liquibase --drop-public-synonyms=<true|false>

diff-changelog --changelog-file=example-changelog.xml

--url=<url>

--reference-url=reference-url

JVM system property(JAVA_OPTS environment variable)

Unix/Linux/Mac:

JAVA_OPTS=-Dliquibase.drop.public.synonyms=<true|false>

Windows:

JAVA_OPTS=-D"liquibase.drop.public.synonyms"=<true|false>

Liquibase environment variable

LIQUIBASE_DROP_PUBLIC_SYNONYMS=<true|false>

For more information, see Working with command parameters.

Change history

Version

Changes

Liquibase Secure, version 5.0

Parameter changed from --pro-synonyms-drop-public to --drop-public-synonyms.

Here are the previous values from when it was --pro-synonyms-drop-public.

Liquibase properties file (defaults file) liquibase.pro.synonymsDropPublic: <true|false>

Global flow file argument

globalArgs: { pro--synonyms-drop-public: "<true|false>"}

Global CLI parameter

liquibase

--pro-synonyms-drop-public=<true|false>

--changelog-file=example-changelog.xml

JVM system property(JAVA_OPTS environment variable)

Unix:

JAVA_OPTS=-Dliquibase.pro.synonymsDropPublic=<true|false>

Windows:

JAVA_OPTS=-D"liquibase.pro.synonymsDropPublic"=<true|false>