User Guide: Developer SCM Packaging (Oracle Addendum)

Note

This information is now maintained in the product documentation:  Oracle Database Objects and Packaging

Oracle Guidelines

  • For an Oracle Default Schema (single-schema) Project, database objects can be either fully qualified or unqualified with the schema name. If they are left unqualified, Datical DB will deploy the changes into the Connection Schema, or the Default Schema (if specified).
  • For an Oracle Multi-Schema Project, database objects must be fully qualified with the schema name so they get deployed to the correct schema during packaging.
  • You can use the schemaName attribute in the metadata.properties to indicate the default schema for all the scripts in the folder where the metadata.properties reside and its children as well.

Oracle SCM Packaging Patterns

Datical supports two development usage/packaging patterns:

  • Permanent - In-place editing, packaging and no archiving of database changes so they can be managed similar to application code. This applies to the following object types:
    • Procedures (when scripts are placed in the "/procedure" folder)
    • Functions (when scripts are placed in the "/function" folder)
    • Package (when scripts are placed in the "/package" folder)
    • Package Body (when scripts are placed in the "/packagebody" folder)
    • Views (when scripts are placed in the "/view" folder)
    • Triggers (when scripts are placed in the "/trigger" folder)
  • Transient - Database changes are archived after packaging (all other folders).

Oracle Packaging Folders

Object TypePackaging FolderArchived?Notes
CREATE/ALTER/DROP DATABASE LINK/sql_directYes
CREATE/ALTER/DROP FUNCTION/functionNo Each function must be ended by a '/' on its own line.
CREATE/ALTER/DROP INDEX/ddl /ddl_direct /sql_directYes
CREATE/ALTER/DROP QUEUE/sql_directYes
CREATE/ALTER/DROP SEQUENCE/ddl /ddl_direct /sql_directYes
CREATE/ALTER/DROP PUBLIC SYNONYM/sql_directYes Alternatively, use Datical Auto-Synonyms
CREATE/ALTER/DROP PUBLIC SYNONYM/ddl /ddl_direct /sql_directYesAlternatively, use Datical Auto-Synonyms

CREATE/ALTER/DROP TABLE

/ddl /ddl_direct /sql_directYes
CREATE/ALTER/DROP GLOBAL TEMPORARY TABLE/ddl /ddl_direct /sql_directYes
CREATE/ALTER/DROP MATERIALIZED VIEW/sql_directYes
CREATE/ALTER/DROP PACKAGE/packageNoEach package must be ended by a '/' on its own line.
CREATE/ALTER/DROP PACKAGE BODY/packagebodyNoEach package body must be ended by a '/' on its own line.
CREATE/ALTER/DROP PROCEDURE/procedureNoEach procedure must be ended by a '/' on its own line.
CREATE/ALTER/DROP TRIGGER

/trigger

NoEach trigger must be ended by a '/' on its own line.
CREATE/ALTER/DROP TYPE/sql_directYesEach type must be ended by a '/' on its own line.
CREATE/ALTER/DROP VIEW

/view

No
CREATE/ALTER/DROP VIEW INDEX/ddl /ddl_direct /sql_directYes
CREATE/ALTER/DROP CURSOR/sql_directYes
CREATE/ALTER/DROP DIRECTORY/sql_directYes
RENAME <DB_OBJECT>/sql_directYes
OperationPackaging FolderArchived?Notes
INSERT, UPDATE, DELETE, SELECT/data_dmlYes
GRANT, REVOKE/sql_directYesAlternatively, use Datical Auto-Permissions

Copyright © Datical 2012-2020 - Proprietary and Confidential