Liquibase Enterprise was formerly known as Datical DB.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »


Limited Forecast is a mode of Forecast that selectively profiles database objects based on the changes targeted for Deployment. This significantly reduces the time spent on the Forecast & Full Deploy.  

Limited Forecast can be set as the default mode at the project level in the project settings or at the Deployment Step level with a simple check box.  

Notes: 

  • Because a full profile of the database is not created during Limited Forecast, some Post Forecast rules may be skipped because the objects they depend on are not present in the Post Deploy Model.
  • Associated objects for non-referenced tables are not profiled:
    • primary keys
    • columns
    • indices
    • check constraints
    • foreign key constraints
    • unique constraints
  • Objects that are profiled for referenced tables:
    • views
    • triggers
    • procedures
    • functions
    • packages
    • synonyms
    • sequences
  • All table names are selected during Limited Profile. This gives Datical the capability of detecting duplicate object creations for non-referenced tables during Limited Forecast.

How to set Limited Forecast

  • Specifying Limited Forecast on the project settings tab
  • Specifying Limited Forecast on the Forecast With Options Screen
  • Specifying Limited Forecast on the Deploy With Options Screen

Updates in "datical.project" file

Making the abovementioned changes get reflected in the datical.project files by adding limitForecastProfiling="true" attribute in line #2 (scroll all the way to the right to see this attribute):

<?xml version="1.0" encoding="ASCII"?>
<dbproject:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dbproject="http://datical.com/db/project/1.0" name="SONY" storedLogicExternal="true" deployThreshold="stopOnError" requireOptions="true" limitForecastProfiling="true" deployMode="quick" projectsId="5afdc6b6-4252-4def-9b2a-1e1ccb04d380" runtimeCredentials="false" multiSchema="true" dbSchemaDefinition="project" schemaSelectionStep="REF1" trackingSchema="DATICALDBTRACKING" enableRowCount="false">
  <dbDefs xsi:type="dbproject:OracleDbDef" name="REF1" driver="oracle.jdbc.OracleDriver" hostname="demo-db1-rhel6.datical.net" port="1521" username="DATICAL_USER" password="" contexts="REF1" storageOptionCollectedAtSnapshot="true" labels="current" serviceName="REF.datical.net" enableCompression="false" rowsPerBatch="10000"/>
  <dbDefs xsi:type="dbproject:OracleDbDef" name="DEV" driver="oracle.jdbc.OracleDriver" hostname="demo-db1-rhel6.datical.net" port="1521" username="DATICAL_USER" password="" contexts="DEV" storageOptionCollectedAtSnapshot="true" labels="current" environment="DEV" serviceName="DEV.datical.net" enableCompression="false" rowsPerBatch="10000"/>
  <dbDefs xsi:type="dbproject:OracleDbDef" name="QA" driver="oracle.jdbc.OracleDriver" hostname="demo-db1-rhel6.datical.net" port="1521" username="DATICAL_USER" password="" contexts="QA" storageOptionCollectedAtSnapshot="true" labels="current" environment="QA" serviceName="QA.datical.net" enableCompression="false" rowsPerBatch="10000"/>
  <plans name="current" databaseDefs="//@dbDefs[name='REF1'] //@dbDefs[name='DEV'] //@dbDefs[name='QA']"/>
  <changelog href="Changelog/changelog.xml#//@databaseChangeLog"/>
  <schemas name="MYSCHEMA"/>
</dbproject:Project>

Programmatic Support for Limited Forecast

Datical's automation utility allows you to configure this programmatically. This is useful when there is a need to overwrite project-level settings.

The argument for limited forecast is --limitForecast=true. This can be passed for both Forecast and Deploy commands as follows:

# Forecast command
hammer forecast <dbDef> --limitForecast=true

# Deploy command
hammer deploy <dbDef> --limitForecast=true



  • No labels