Today I was able to upgrade a customized Events module of the DNN (DotNetNuke) at the request of the client. After my suggestion the client wanted to have the latest updates and also gave an okay to drop the customization and use the standard events module.
What should have been an easy upgrade quickly turned into a nightmare; a nightmare which took all evening yesterday and the early morning today.
It turns out that the install wizard does not rollbacks all the things as is; especially the ones which were checked with IF Exists or IF NOT Exists SQL.
I believe the IF (NOT) Exists scenarios should actually turn on and off boolean values so that they can be passed on as parameters to the other SQL scripts and all the way to the rollback scenario.
It was really painful to redo all things at least ten times as the error was triggering the rollback and retry will fail at missing columns or columns already exists; which were added or deleted by the previous try and were not undone by the rollback.
What should have been an easy upgrade quickly turned into a nightmare; a nightmare which took all evening yesterday and the early morning today.
It turns out that the install wizard does not rollbacks all the things as is; especially the ones which were checked with IF Exists or IF NOT Exists SQL.
I believe the IF (NOT) Exists scenarios should actually turn on and off boolean values so that they can be passed on as parameters to the other SQL scripts and all the way to the rollback scenario.
It was really painful to redo all things at least ten times as the error was triggering the rollback and retry will fail at missing columns or columns already exists; which were added or deleted by the previous try and were not undone by the rollback.
- Table
- Events
- Remove index of IX_(objectQualifier)Events_4
- Add column PayPalPassword
- Alter Column name CreatedByID to CreatedBy
- EventsRecurMaster
- Remove all Relationship keys
- EventsSignups
- Add column TimeZoneOffset
- DLLs
- Delete all Events module related dlls (the dlls are locked and can't be overwritten)
- DesktopModules
- Delete the Events sub-folders and the Events folder as well. (resource files are locked and can't be overwritten)
At the end all things went fine but making it all work was painful and not an easy route.
Hope this can be helpful to any who are in similar situation as me.
Comments
Post a Comment