Hello,
Just a follow up on this https://support.dataaccess.com/Forum...491#post324491
In our application we do database structure changes and other kind of operations, for example, update values on each row conditionally to other values on that row (so ApiColumnUpdateValue is not an option).
DUFCodeGenerator is great because you don't have to code the changes, you simply take a "screenshot" and DUF take care of what it is needed to perform the update.
So, my first thought was: we need an event on cDbUpdateVersion called OnPostUpdate.
Later I realized that this is not a good idea because OnPostUpdate is going to be overwriten each time you generate the pkg with DUFCodeGenerator.
What about, when an OnUpdate of cDbUpdateVersion is finished, prior to call the next OnUpdate, launch OnPostUpdate of cDbUpdateHandler with a parameter? Same feature could be added to OnPreUpdate.
Something like this:
Code:
Object oDbUpdateHandler is a cDbUpdateHandler
Object oDbUpdateVersion1_0 is a cDbUpdateVersion
Set pnVersionNumber to 1.0
Procedure OnUpdate
// Do some structure table changes
End_Procedure
End_Object
Object oDbUpdateVersion2_0 is a cDbUpdateVersion
Set pnVersionNumber to 2.0
Procedure OnUpdate
// Do some structure table changes
End_Procedure
End_Object
Use DUF_MultipleTables3_0.pkg
Use DUF_MultipleTables4_0.pkg
// If nVersion is <= 0 then the wole updates have finished?
Procedure OnPostUpdate Number nVersion
Case Begin
Case (nVersion = 0.0)
// The whole update has finished
Case Break
Case (nVersion = 3.0)
// I need to do additional task for version 3.0
Case Break
Case End
End_Procedure
End_Object
Maybe it sounds bad because you are doing specific version tasks at parent object instead of use the version object...