plex/README.md
2018-06-15 22:05:56 +02:00

3.0 KiB

PLEX - PL/SQL export utilities

BackApp

Get a zip file for an APEX application (or schema) including:

  • The app export SQL file - full and splitted ready to use for version control
  • All objects DDL, object grants DDL
  • Optional the data in csv files - useful for small applications in cloud environments for a logical backup
  • Everything in a (hopefully) nice directory structure

Simple Call

DECLARE
  l_zip_file blob;
BEGIN

  -- do the backapp
  l_zip_file := plex.backapp(p_app_id => 100);

  -- do something with the zip file

END;
/

Signature

FUNCTION backapp
(
  p_app_id                   IN NUMBER DEFAULT NULL,   -- If not provided we simply skip the APEX app export.

  p_include_app_ddl          IN BOOLEAN DEFAULT TRUE,  -- Include the SQL export file for the APEX application.
  p_app_public_reports       IN BOOLEAN DEFAULT TRUE,  -- Include public reports in your application export.
  p_app_private_reports      IN BOOLEAN DEFAULT FALSE, -- Include private reports in your application export.
  p_app_report_subscriptions IN BOOLEAN DEFAULT FALSE, -- Include IRt or IG subscription settings in your application export.
  p_app_translations         IN BOOLEAN DEFAULT TRUE,  -- Include translations in your application export.
  p_app_subscriptions        IN BOOLEAN DEFAULT TRUE,  -- Include component subscriptions.
  p_app_original_ids         IN BOOLEAN DEFAULT FALSE, -- Include original workspace id, application id and component ids.
  p_app_packaged_app_mapping IN BOOLEAN DEFAULT FALSE, -- Include mapping between the application and packaged application if it exists.

  p_include_object_ddl       IN BOOLEAN DEFAULT TRUE,  -- Include DDL of current user/schema objects and their grants.
  p_object_prefix            IN VARCHAR2 DEFAULT NULL, -- Filter the schema objects with the provided object prefix.

  p_include_data             IN BOOLEAN DEFAULT FALSE, -- Include CSV data of each table.
  p_data_max_rows            IN NUMBER DEFAULT 1000,   -- Maximal number of rows per table.

  p_debug                    BOOLEAN DEFAULT FALSE     -- Generate debug_log.md in the root of the zip file.
) RETURN BLOB;

Queries to CSV

Export one or more queries as CSV data within a zip file.

Simple Call

DECLARE
  l_zip_file blob;
BEGIN

  --fill the queries array
  plex.add_query(
    p_query       => 'select * from user_tables',
    p_file_name   => 'user_tables'
  );
  plex.add_query(
    p_query       => 'select * from user_tab_columns',
    p_file_name   => 'user_tab_columns',
    p_max_rows    => 10000
  );

  -- process the queries
  l_zip_file := plex.queries_to_csv;

  -- do something with the file...

END;
/

Signature

FUNCTION queries_to_csv
(
  p_delimiter       IN VARCHAR2 DEFAULT ',',
  p_quote_mark      IN VARCHAR2 DEFAULT '"',
  p_line_terminator IN VARCHAR2 DEFAULT chr(10),
  p_header_prefix   IN VARCHAR2 DEFAULT NULL,
  p_debug           BOOLEAN DEFAULT FALSE -- Generate debug_log.md in the root of the zip file.
) RETURN BLOB;