createBaseline
Creates a baseline of the given schema name.
A file artifact is created which references a set of DDL in the DDL Repository. This file is then used by the synchronize operation to update the DDL of a target database to the version specified by the build operation's Revert to Baseline ID
value.
Specifying a previous Revert to Baseline ID
value will create an artifact that when deployed will bring the target database DDL to that baseline.
Leaving Revert to Baseline ID
blank will create an artifact that when deployed will bring the target database DDL to the current DDL of the Source Database.
Revert to Baseline ID
supports Full Deployments, not Partial Deployments.
Supported object types are:
- Package
- Package Body
- Type
- Type Body
- Function
- Trigger
- Procedure
- Table
- Index
- View
- Constraint
- Sequence
- Private Synonym
- Materialized view
- Materialized view log
- Grants on supported objects
Environment/Instance Properties
Property Name | Property Code | Required | Description |
---|---|---|---|
Oracle Database URL | FDORA_URL | Yes | The JDBC URL for the target Oracle database. This should be a complete JDBC URL (e.g. |
Oracle Database User | FDORA_USER | Yes | The username that will be used to connect to the target Oracle Database. |
Oracle Database Password | FDORA_PASSWORD | Yes | The password for Oracle Database User. |
Target JDBC Driver Path. | FDORA_DRIVER_PATH | Yes | Path containing JDBC driver for target database connection. |
DDL Repo JDBC Driver Path | FDORA_DDL_DRIVER_PATH | Yes | Path containing JDBC driver for DDL repository database connection. |
DDL Repository URL | FDORA_DDL_URL | Yes | The JDBC URL for the DDL repository. This should be a complete JDBC URL (e.g. |
DDL Repository User | FDORA_DDL_USER | Yes | The userid used to connect to the DDL repository. |
DDL Repository Password | FDORA_DDL_PASSWORD | Yes | The password for the DDL repository userid. |
Project Properties
Property Name | Property Code | Required | Description |
---|---|---|---|
Oracle Database Schema Name(s) | FDORA_SCHEMA_NAME | Yes | Comma-separated list of schemas controlled by this project. |
Oracle Object Types | FDORA_OBJECT_TYPES | Yes | The Oracle object types which are being managed in partial deployment projects. By default all object types are selected. This could be used in combination with security options so that certain user groups are unable to build and deploy tables or other objects. |
Inputs
Input Name | Input Code | Required | Description |
---|---|---|---|
Column Drop Action | FDORA_COL_DROP_ACTION | No | Determines what action to take for "dropping" columns. Can be set to Defaults to |
Revert to Baseline ID | FDORA_REVERT_TO_BASELINE_ID | No | Numeric ID of the baseline to revert an environment to. Leave blank to create a new baseline. |
Table Renames | FDORA_TABLE_RENAMES | No | Table rename string. The format is Multiple table renames can be listed by comma separating them on the input. |
Index Renames | FDORA_INDEX_RENAMES | No | Index rename string. The format is Multiple index renames can be listed by comma separating them on the input. |
Column Renames | FDORA_COLUMN_RENAMES | No | Column rename string. The format is Multiple column renames can be listed by comma separating them on the input. |
Trigger Renames | FDORA_TRIGGER_RENAMES | No | Trigger rename string. The format is Multiple trigger renames can be listed by comma separating them on the input. |
Constraint Renames | FDORA_CONSTRAINT_RENAMES | No | Constraint rename string. The format is Multiple constraint renames can be listed by comma separating them on the input. |
Synonym Renames | FDORA_SYNONYM_RENAMES | No | Synonym rename string. The format is Multiple synonym renames can be listed by comma separating them on the input. |
Sequence Renames | FDORA_SEQUENCE_RENAMES | No | Sequence rename string. The format is Multiple sequence renames can be listed by comma separating them on the input. |
View Renames | FDORA_VIEW_RENAMES | No | View rename string. The format is Multiple view renames can be listed by comma separating them on the input. |
Outputs
Output Name | Required | Description |
---|---|---|
| No | Outputs the BaseLine ID which was built. |
FDORA_OUT_BL_TABLE_COUNT | No | Count of tables stored in the baseline. |
FDORA_OUT_BL_INDEX_COUNT | No | Count of indexes stored in the baseline. |
FDORA_OUT_BL_CONSTRAINT_COUNT | No | Count of constraints stored in the baseline. |
FDORA_OUT_BL_SEQUENCE_COUNT | No | Count of sequences stored in the baseline. |
FDORA_OUT_BL_PROCEDURES_COUNT | No | Count of procedures stored in the baseline. |
FDORA_OUT_BL_VIEWS_COUNT | No | Count of views stored in the baseline. |
FDORA_OUT_BL_SYNONYMS_COUNT | No | Count of synonyms stored in the baseline. |
FDORA_OUT_BL_MVIEW_COUNT | No | Count of materialized views stored in the baseline. |
FDORA_OUT_BL_MVIEW_LOG_COUNT | No | Count of materialized view logs stored in the baseline. |
FDORA_OUT_BL_PRIVILEGES_COUNT | No | Count of privileges stored in the baseline. |
Artifacts
This operation produces artifacts that will be stored in the artifacts repository. This artifact is an empty file whose name is used to select a revision from the DDL Repository.
Endpoint Selection
This operation will select all available endpoints associated to the environment/instance.
Endpoint Execution
This operation will execute on any one of the selected endpoints and will be random in the determination of which one.
Special Considerations
For renames, the old_owner
must be the same as the new_owner
.
For user defined type objects, special consideration should be given to implementing the force option on the type. In a scenario where a type is dependent on another type, there are scenarios where creating the child type with the force will make the deployment to future environments easier.
Example:
In this case, the type XX_WS_INPUT_T is a child of the type XX_WS_INPUT_TBL. By creating it with the force in the build database, the plugin will automatically carry that option forward:
create or replace TYPE XX_WS_INPUT_T FORCE AS OBJECT (
TABLE_NAME VARCHAR2( 30 )
,COLUMN_NAME VARCHAR2( 30 )
,IN_VALUE VARCHAR2( 250 )
);
create or replace TYPE XX_WS_INPUT_TBL AS TABLE OF XX_WS_INPUT_T;
Future changes to the XX_WS_INPUT_T type (like adding a column) will then flow through the plugin without issue because it will be recreated using the force option. Without the force option, the plugin would fail with the error message:
ORA-02303: cannot drop or replace a type with type or table dependents
Please note, the use of the force option will cause the parent type and any dependent type will be invalid and will require a recompile. This can complete in FlexDeploy by using the compile_invalid plugin operation in the workflow.
For types that are used within physical CREATE TABLE definitions, the use of the FORCE option is NOT recommended. It should only be used in scenario where the type is used within PL/SQL code.
- style