Contributors mailing list archives
contributors@odoo-community.org
Browse archives
Re: Removal of migration scripts on each new version
Re: Removal of migration scripts on each new version
Re: Removal of migration scripts on each new version
byHello,
Overall I tend to agree with Pedro on this topic. At C2C we are
      often jumping 2 to 4 versions when migrating a database, so we are
      not migrating version by version regarding OCA modules (it would
      take too much time), and by experience:
    
- often `pre` scripts can run without adaptation (that could
        happen of course with all reasons written by Pedro above), as
        they normally only rely on SQL
 
- `post` ones that are using Odoo ORM can be broken easily (i.e.
        invoking a 16.0 post script with an 18.0 Odoo code base), and
        therefore requires modifications (making such script idempotent
        will require extra work from contributors if we go that way)
 
To ease the migration work, we are starting to use a tool that reports all intermediate migration scripts for a given module (things start to be complicated when a module is renamed/changed repo but it's another story), and we check which one is relevant for the migration. After that we consolidate these migration scripts (copy/paste + some adaptations) locally in the project.
=> often, some migration scripts could be avoided, and we keep
      only ones that make sense for the migration. I do not have exact
      figures but if we have let's say 4 migration scripts for a module
      from 14.0 to 18.0, often we land with only 1 or 2 that are
      relevant and could ignore remaining ones.
      => from what I see currently in our biggest projects jumping 4
      versions, modules impacted by these intermediate migration scripts
      represent less than 10% of  installed OCA modules
      => its easier/faster for us to get these info before we start a
      migration and consolidate scripts manually afterwards, than
      ensuring every intermediate migration scripts will be idempotent
      to ensure versions jump. It's not perfect, but that works...
    
Note: Pushing this tool in community is complicated for now (for
      different reasons, and we are lacking of time, things still need
      to be discussed), but I would like to see that happening later one
      way or another to consolidate community knowledge and
      contributions (but this is another topic than the one discussed
      here).
    
That said, I'm not against keeping some of these scripts if it makes life easier, like the one for `queue_job`, but by default it's easier to drop them IMO, and during review maintainers could state if it deserves to be kept?
    
Hi,
the migration guide mandates the following
> Remove any possible migration script from previous version (in a nutshell, removemigrationsfolder inside the module if exists).
(https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-18.0#tasks-to-do-in-the-migration)
However, it is not uncommon to skip versions when migrating an Odoo instance. You would go from 15.0 or 16.0 to 18.0 rather than migrating every year. When using the Odoo enterprise migration, the migration scripts between the source and the target version are supposed to be present in the target version. So the migration guideline breaks this type of migration.
I had a disagreement with Pedro Baeza about this on one PR, but I keep coming across instances of this such as https://github.com/OCA/account-invoicing/pull/1874 today so I would like to discuss this in a wider audience.
My preference would be for the guideline to change to say that it is allowed to keep some of the scripts if they are safe for inclusion in the later version (such as the script from https://github.com/OCA/account-invoicing/pull/1874, which checks if a field already exists before trying to add it).
Can I have a temperature check from the community to see how you all feel about this?
Best regards,
Stefan
-- Opener B.V. - Business solutions driven by open source collaboration Stefan Rijnhart - Consultant/developer mail: stefan@opener.amsterdam tel: +31 (0) 6 1447 8606 web: https://opener.amsterdam_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
-- Sébastien Alix Business Solutions Odoo Developer Camptocamp France SA https://www.camptocamp.com/
Reference
- 
                Removal of migration scripts on each new versionbyOpener B.V., Stefan Rijnhart- 06/05/2025 13:00:04 - 0- 
                Re: Removal of migration scripts on each new versionbyComunitea, Javier Colmenero Fernández- 07/05/2025 16:41:14 - 0
- 
                Re: Removal of migration scripts on each new versionby "Richard deMeester" <richard.demeester@willdooit.com> - 07/05/2025 15:49:29 - 12
- 
                Re: Removal of migration scripts on each new versionbyOpener B.V., Stefan Rijnhart- 07/05/2025 15:41:34 - 0
- 
                Re: Removal of migration scripts on each new versionbyDIXMIT Consulting SLU, Enric Tobella Alomar- 07/05/2025 12:46:40 - 0
- 
                Re: Removal of migration scripts on each new versionbyCamptocamp France SAS, Sébastien Alix- 07/05/2025 12:22:27 - 0
- 
                Re: Removal of migration scripts on each new versionbyAcsone SA/NV, Stéphane Bidoul- 07/05/2025 12:06:52 - 0
- 
                Re: Removal of migration scripts on each new versionbySygel Technology S.L., Valentín Vinagre- 07/05/2025 11:58:25 - 0
- 
                Re: Removal of migration scripts on each new versionbyAkretion France., Raphaël Reverdy- 07/05/2025 11:41:01 - 0
- 
                Re: Removal of migration scripts on each new versionbyTherp, Tom Blauwendraat- 07/05/2025 08:54:02 - 0
- 
                Re: Removal of migration scripts on each new versionbyMoaHub, Graeme Gellatly- 07/05/2025 00:29:27 - 0
 
-