createPackageBody
Note: This is a Liquibase Pro Change Type, so you need a Liquibase Pro License Key to use it.
Creates a stored package body.
Run createPackageBody
To run this Change Type, follow these steps:
- Add the Change Type to your changeset, as shown in the examples on this page.
- Specify any required attributes. Use the table on this page to see which ones your database requires.
- Deploy your changeset by running the
update
command:
liquibase update
Available attributes
Name | Description | Required for | Supports | Since |
---|---|---|---|---|
catalogName
|
Name of the catalog |
all | ||
dbms
|
Specifies which database type |
all | 3.1 | |
encoding
|
Encoding used in the file specified in the |
all | ||
packageBodyName
|
Name of the package body |
all | all | |
packageBodyText
|
The SQL creating the package body. You need to define either this attribute or the |
all | all | |
path
|
File containing the procedure text. Either this attribute or a nested procedure text is required. |
all | all | |
procedureText
|
The SQL creating the procedure. You need to define either this attribute or the |
all | all | |
relativeToChange
|
Specifies whether the file path is relative to the changelog file rather than looked up in the search path. Default: |
all | ||
replaceIfExists
|
Boolean. If the stored procedure defined by |
all | ||
schemaName
|
Name of the schema |
all |
Examples
databaseChangeLog:
- changeSet:
id: createPackageBody-example
author: liquibase-docs
changes:
- createPackageBody:
catalogName: cat
dbms: h2, !oracle, mysql
encoding: UTF-8
packageBodyName: A String
packageBodyText: A String
path: com/example/my-logic.sql
relativeToChangelogFile: true
replaceIfExists: false
schemaName: public
{
"databaseChangeLog": [
{
"changeSet": {
"id": "createPackageBody-example",
"author": "liquibase-docs",
"changes": [
{
"createPackageBody": {
"catalogName": "cat",
"dbms": "h2, !oracle, mysql",
"encoding": "UTF-8",
"packageBodyName": "A String",
"packageBodyText": "A String",
"path": "com/example/my-logic.sql",
"relativeToChangelogFile": true,
"replaceIfExists": false,
"schemaName": "public"
}
}
]
}
}
]
}
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:pro="http://www.liquibase.org/xml/ns/pro"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd
http://www.liquibase.org/xml/ns/pro
http://www.liquibase.org/xml/ns/pro/liquibase-pro-latest.xsd">
<changeSet author="liquibase-docs" id="createPackageBody-example">
<pro:createPackageBody catalogName="cat"
dbms="h2, !oracle, mysql"
encoding="UTF-8"
packageBodyName="A String"
path="com/example/my-logic.sql"
relativeToChangelogFile="true"
replaceIfExists="false"
schemaName="public">A String</pro:createPackageBody>
</changeSet>
</databaseChangeLog>
Database support
Database | Notes | Auto Rollback |
---|---|---|
DB2/LUW | Supported | No |
DB2/z | Supported | No |
Derby | Supported | No |
Firebird | Supported | No |
Google BigQuery | Supported | No |
H2 | Supported | No |
HyperSQL | Supported | No |
INGRES | Supported | No |
Informix | Supported | No |
MariaDB | Supported | No |
MySQL | Supported | No |
Oracle | Supported | No |
PostgreSQL | Supported | No |
Snowflake | Not Supported | No |
SQL Server | Supported | No |
SQLite | Supported | No |
Sybase | Supported | No |
Sybase Anywhere | Supported | No |