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. jdbc:oracle:thin:@localhost:1521:xe)

Oracle Database UserFDORA_USERYesThe username that will be used to connect to the target Oracle Database.
Oracle Database PasswordFDORA_PASSWORDYesThe password for Oracle Database User.
Target JDBC Driver Path.FDORA_DRIVER_PATHYesPath containing JDBC driver for target database connection.
DDL Repo JDBC Driver PathFDORA_DDL_DRIVER_PATHYesPath containing JDBC driver for DDL repository database connection.
DDL Repository URLFDORA_DDL_URLYes

The JDBC URL for the DDL repository.

This should be a complete JDBC URL (e.g. jdbc:oracle:thin:@localhost:1521:xe)

DDL Repository UserFDORA_DDL_USERYesThe userid used to connect to the DDL repository.
DDL Repository PasswordFDORA_DDL_PASSWORDYesThe 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 TypesFDORA_OBJECT_TYPESYes

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 ActionFDORA_COL_DROP_ACTIONNo

Determines what action to take for "dropping" columns.

Can be set to SET UNUSED or DROP.

Defaults to SET UNUSED.

Revert to Baseline IDFDORA_REVERT_TO_BASELINE_IDNo

Numeric ID of the baseline to revert an environment to.

Leave blank to create a new baseline.

Table RenamesFDORA_TABLE_RENAMESNo

Table rename string. The format is NEW_OWNER.NEW_TABLE_NAME=OLD_OWNER.OLD_TABLE_NAME

Multiple table renames can be listed by comma separating them on the input.

Index RenamesFDORA_INDEX_RENAMESNo

Index rename string. The format is NEW_OWNER.NEW_INDEX_NAME=OLD_OWNER.OLD_INDEX_NAME

Multiple index renames can be listed by comma separating them on the input.

Column RenamesFDORA_COLUMN_RENAMESNo

Column rename string. The format is NEW_OWNER.NEW_TABLE_NAME.NEW_COLUMN_NAME=OLD_OWNER.OLD_TABLE_NAME.OLD_COLUMN_NAME

Multiple column renames can be listed by comma separating them on the input.

Trigger RenamesFDORA_TRIGGER_RENAMESNo

Trigger rename string. The format is NEW_OWNER.NEW_TRIGGER_NAME=OLD_OWNER.OLD_TRIGGER_NAME

Multiple trigger renames can be listed by comma separating them on the input.

Constraint RenamesFDORA_CONSTRAINT_RENAMESNo

Constraint rename string. The format is NEW_OWNER.NEW_TABLE_NAME.NEW_CONSTRAINT_NAME=OLD_OWNER.OLD_TABLE_NAME.OLD_CONSTRAINT_NAME

Multiple constraint renames can be listed by comma separating them on the input.

Synonym RenamesFDORA_SYNONYM_RENAMESNo

Synonym rename string. The format is NEW_OWNER.NEW_SYNONYM_NAME=OLD_OWNER.OLD_SYNONYM_NAME

Multiple synonym renames can be listed by comma separating them on the input.

Sequence RenamesFDORA_SEQUENCE_RENAMESNo

Sequence rename string. The format is NEW_OWNER.NEW_SEQUENCE_NAME=OLD_OWNER.OLD_SEQUENCE_NAME

Multiple sequence renames can be listed by comma separating them on the input.

View RenamesFDORA_VIEW_RENAMESNo

View rename string. The format is NEW_OWNER.NEW_VIEW_NAME=OLD_OWNER.OLD_VIEW_NAME

Multiple view renames can be listed by comma separating them on the input.

  

Outputs

Output Name

Required

Description

FDORA_OUT_BASELINE_ID

No

Outputs the BaseLine ID which was built.

FDORA_OUT_BL_TABLE_COUNTNoCount of tables stored in the baseline.
FDORA_OUT_BL_INDEX_COUNTNoCount of indexes stored in the baseline.
FDORA_OUT_BL_CONSTRAINT_COUNTNoCount of constraints stored in the baseline.
FDORA_OUT_BL_SEQUENCE_COUNTNoCount of sequences stored in the baseline.
FDORA_OUT_BL_PROCEDURES_COUNTNoCount of procedures stored in the baseline.
FDORA_OUT_BL_VIEWS_COUNTNoCount of views stored in the baseline.
FDORA_OUT_BL_SYNONYMS_COUNTNoCount of synonyms stored in the baseline.
FDORA_OUT_BL_MVIEW_COUNTNoCount of materialized views stored in the baseline.
FDORA_OUT_BL_MVIEW_LOG_COUNTNoCount of materialized view logs stored in the baseline.
FDORA_OUT_BL_PRIVILEGES_COUNTNoCount 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.