Release 10.1A: OpenEdge Development:
Progress Dynamics Administration

> ## Picking the correct processing stage

> Plan your upgrades carefully. Think about the order in which to perform tasks in each patch level. For example, assume you are moving a field from one table to another. To save any existing data in that field, you have to spread the process over three upgrade programs as follows:

> 1. Add the field to the new table during Stage 2 of the current patch level.

> 2. Copy the data from the old field to the new field in either Stage 3 of the current patch level or in Stage 1 of the next patch level.

> 3. Drop the field from the old table during Stage 2 of the next patch level.

> You should also think about how previous upgrade programs will be impacted each time you design a new patch level. Remember that the DCU runs through Stages 1–6 for all patch levels in Phase 1 and then completes Stages 7–9 for each patch level in Phase 2. Because of the break between the phases, the changes for a later upgrade could cause problems for an earlier upgrade. For example, Stage 2 of a later upgrade changes the format of the field into which the earlier upgrade loads data during Stage 7. The data in the earlier upgrade is now in the wrong format according to the database schema when the DCU begins Phase 2 processing.

> In general, you should design future upgrades to avoid this sort of problem. If you cannot avoid such a problem, you must run two different DCU sessions to complete the deployment. In the first DCU session, you apply all the patches levels before the level that would cause the conflict. Then, you design the second DCU session using the minimum version attribute so it only runs on databases that have all the previous patch levels applied.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095