← Back to team overview

openupgrade-drivers team mailing list archive

Openupgrade in production and transactions

 

Hi,

I'm looking at using openupgrade. I had 2 technical questions:

What are the drawbacks of merging the code with production code and using all this in production ?

Well, I noticed several bits of code that will cancel some actions, but I don't understand why these bits of code are there. Same thing for the way cr.commit is diverted: why not use savepoints ? Well, okay, there are a lot of cr.commit() in the legacy code, but they are useless, we can remove them it seems (or replace them with savepoints)

What is the general policy to follow regarding transaction ?

More precisely: why the whole initilialisation / update process is not in one big transaction ? For now, update scenario is really bad, and involves re-launching update script and slowly updating modules by modules the database. This update path will be unique, and won't catch all errors that could occurs in other slightly different paths. Not to mention that modules are marked 'installed' to the final version if their script passes, and this forces you to re-load the database in the first state if you just forgot some code to add in the upgrade module.

I'm quite new with the code of openupgrade, and I work with automatically merged code between version 8.0, our code, and trunk of openupgrade. There's probable misconception I could have due to bad behaviors stemming out of bad merge. Please tell me if this is the case.

Thanks a lot for any insights,

--
Valentin LAB
Ingénieur Développement

tel:  +33 6 71 39 62 13
mail: valentin.lab@xxxxxxxxxxx


Follow ups