Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Requires Liquibase Enterprise 8.8 and higher

  • For ephemeral copies without data, the Liquibase user must have sysadmin server role

  • For ephemeral copies with data, the Liquibase user requires the roles of Datical Packager Permissions (db_backupoperator and dbcreator).

Usage

Using a SQL Server Ephemeral Database eliminates the need to manage an additional database on the pipeline. The ephemeral packaging feature creates a copy of the first database on the pipeline when the packager runs. All changes are performed on the copy and the copy is dropped when packaging is complete. If the final deploy is not skipped - it will deploy newly packaged changes on the first database on the pipeline.

Info

It’s important to note that the database to be copied should always be the first database in the pipeline.

Screenshot (68).png

Backup and Restore Package

...

Method

In order to implement an Ephemeral Database, the databaseBackupRestoreMethod package method on the deployPackager.properties needs to be configured.

...

Property Name

Description

ephemeralCopyName

[Optional] Defines a name for a DB copy (has impact on SQL Server Ephemeral copy only).

Default name for the ephemeral copy will be source database name with _eph postfix. For example, if source name is ABC_DEV, the copied database name will be ABC_DEV_eph.

Property Validation: Copy name should be up to 30 124 characters long, contain no spaces [ ], slashes [/] and semicolons [;] and cannot begin with a number.

ephemeralCopyWithData

[Optional] By default Liquibase will copy databases without data. (*) If you would like to copy both the structure and data, use this boolean property.

(*) There is one exception in that the data from the DATABASECHANGELOG table is included in the database copy.

Property Validation: true/false

ephemeralSkipFinalDeploy

[Optional] The default value for this setting is false. Any changes being packaged are deployed to the first database in the pipeline during the Deploy Packager operation.

Setting this value to true allows changes to be packaged and changesets to be created and stored in the changelog.xml, but the deployment to the first database in the pipeline does not occur.

Property Validation: true/false

...