The Data Administration tool is used to make changes in the database schema. This tool compares two databases and looks for differences in the schema definitions.

The Data Administration tool compares the schema of two connected databases and generates a .df file that contains the changes required in order for the first database schema to match the second database schema. This is referred to as the delta.df.

The delta.df file has four sections. Each section describes the operations that are performed before and after the deployment of an application:

Sections Description
PreDeploy This section contains all non-disruptive online operations and items such as:
  • Allow the field data type to change from Integer to Int64.
  • Modify existing non-structural schema fields.
  • Rename a field in an existing table.
  • Add a new table along with its fields, indexes, and triggers.
Trigger This section contains all the trigger definition changes such as create, delete, and write. The database triggers have r-code that should be deployed before the trigger schema changes. The trigger r-code starts to execute as soon as the trigger schema changes are applied to the database.
PostDeploy This section contains all online disruptive operations such as dropping a field. These schema change operations are applied to the production system after confirming that the objects are not used in any other version of the running application.
Offline This section contains all other schema change operations, which are not included in the PreDeploy, Trigger, or Post Deploy sections. These schema change operations cannot be carried out online and therefore require an exclusive schema lock on the database. Examples of operations under this section include:
  • Drop an index from an existing table.
  • Drop a field from an existing table.
    Note: From OpenEdge 12.5 onwards, you can drop one non-indexed field at a time online. If you need to drop multiple non-indexed fields online, then drop each field as a separate operation.

You can dump the delta.df file in both the old and new formats. To dump the delta.df file in the new format, select the Dump definitions in sections for phased load checkbox.

If the new format is selected, then four sections are added to the delta.df file.

The following is a sample of the new delta.df file format that shows the sections of the delta.df file and the operations that go under each section:

# BEGIN PRE_Deploy_Section
Add Table
Update Table
Delete Table
Add Field
Update Field
Add Sequence
Add InActive-Index
# END PRE_Deploy_Section

# BEGIN Trigger_Section
Table-Trigger DELETE
Table-Trigger OVERRIDE/NO-OVERRIDE
Table-Trigger NEW
# END Trigger_Section

# BEGIN Post_Deploy_Section
Drop Field 

# END Post_Deploy_Section

# BEGIN OffLine_Section
Add Active Index
Update Active Index
Delete Active Index
Drop InActive-Index
Update InActive-Index
Rename InActive-Index
Update Sequence
Delete Sequence
Add Constraints
Update Constraints
Delete Constraints 
Delete Table 
Update Table 
Drop Field 
Update Field etc.
# END OffLine_Section

Considerations for using incremental delta.df

Some considerations for using incremental delta.df are as follows:
  • Some Update Table and Update Field operations cannot be done online and are added to the Offline section.
  • The new triggers are added to the Trigger section only for an existing table and existing field. New triggers for a new table and new field are added to the PreDeploy section.
  • There are some limitations on dropping a field online. You should keep these limitations in mind while applying schema changes to an online database. For more information on the limitations, see Drop a field online.
  • If the Drop Field statement is for an indexed field, the statement is added to the Offline section instead of the Post Deploy section.
  • If there are more than one Drop Field statements in a delta.df file, only the first Drop Field statement is added to the Post Deploy section, after considering the limitations of dropping fields online. The remaining Drop Field statements are added to the Offline section.