Table of Contents |
---|
Using Flexible Folders
...
Using this capability, you may use any number of arbitrarily named folders under a <sql_code> root. This enables you to use folder names that are meaningful to your environment or instructive to your end users.
When you use flexible folders, the folders containing SQL code must have a metadata.properties file, even if it is blank.
You need to specify two properties (new to version 5.0) in a metadata.properties
file in the folder when using flexible folder names. They These properties explicitly specify packaging behavior that was implicit for code in can be different than the defaults that are implicit with fixed-name folders.
packageMethod
- specifies how to package code in this folderrerunnable
- specify whether this code can be repackaged (updated in place)
...
Order | SQLFileType | packageMethod |
---|---|---|
1 | ddl | CONVERT |
2 | ddl_direct | DDL_DIRECT |
3 | view | STOREDLOGIC |
4 | ssis | SSIS |
5 | ssis_project | SSIS |
6 | function | STOREDLOGIC |
7 | procedure | STOREDLOGIC |
8 | package | STOREDLOGIC |
9 | packagebody | STOREDLOGIC |
10 | trigger | STOREDLOGIC |
11 | sql | SQLFILE |
12 | sqlplus | DIRECT |
13 | sql_direct | DIRECT |
14 | data_dml | DATA_DML |
...
Normally DDL changes are placed in folders that use the CONVERT packaging method. However, when you need to package complex and interdependent changes, place them in a folder that uses the DDL_DIRECT or DIRECT packaging method instead.
If the order that the multiple statements are listed in the single script is critical to the success of the script, then use the DDL_DIRECT or DIRECT packaging method. The DDL_DIRECT or DIRECT packaging method will preserve the order of the statements in the script. (The CONVERT packaging method may not preserve the order because it creates the change sets by doing a diff of before and after snapshots, and that comparison process does not know the original order of the statements.)
...
SQLFileType | Resources folder | ||
---|---|---|---|
DDL | N/A | ||
DDL_DIRECT | ddl_direct | ||
VIEW | view | SSIS | ssis |
SSIS_PROJECT | ssis_project | ||
FUNCTION | function | ||
PROCEDURE | procedure | ||
PACKAGE | package | ||
PACKAGEBODY | packagebody | ||
TRIGGER | trigger | ||
SQL | sql | ||
SQLPLUS | sql | ||
SQL_DIRECT | sql | ||
DATA_DML | data_dml |
...
- CONVERT (convert)
- STOREDLOGIC (native)
- DIRECT (native)
- DDL_DIRECT (native)
- DATA_DML (native)
- SQLFILE (native)
- SSIS (native)
rerunnable
The newer rerunnable property replaces two older properties that are are deprecated and should no longer be used (allowRepackaging and archive).
...
Fixed Folder | Rerunnable default setting |
---|---|
ddl | false |
ddl_direct | false |
data_dml | false |
sql_direct | false |
sql | false |
sqlplus | false |
procedure | true |
package | true |
packagebody | true |
function | true |
trigger | true |
view | true |
...
Set versionStrategy to deployAll or deployLatest:
- deployAll - deploy all eligible versions in the order they appear in changelog.xml. This is the default.
- deployLatest - deploy only the latest eligible version.
See also these pages for an overview of packager workflows, guidelines for writing scripts, and when to use which folder or packaging method:
Writing SQL Scripts for Datical DBLiquibase Enterprise
Oracle Database Objects and Packaging
...