Metadata-Version: 2.1
Name: odoo-addon-openupgrade_framework
Version: 18.0.1.0.2
Requires-Python: >=3.10
Requires-Dist: odoo==18.0.*
Requires-Dist: openupgradelib
Summary: Module to integrate in the server_wide_modules option to make upgrades between two major revisions.
Home-page: https://github.com/OCA/OpenUpgrade
License: AGPL-3
Author: Odoo Community Association (OCA), Therp BV, Opener B.V., GRAP, Hunki Enterprises BV
Author-email: support@odoo-community.org
Classifier: Programming Language :: Python
Classifier: Framework :: Odoo
Classifier: Framework :: Odoo :: 18.0
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Description-Content-Type: text/x-rst

.. image:: https://odoo-community.org/readme-banner-image
   :target: https://odoo-community.org/get-involved?utm_source=readme
   :alt: Odoo Community Association

=====================
Openupgrade Framework
=====================

.. 
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! This file is generated by oca-gen-addon-readme !!
   !! changes will be overwritten.                   !!
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! source digest: sha256:769617c0fb9bfda518087d0415b7adaa611ac8b2e9b8216544093d7258467518
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
    :target: https://odoo-community.org/page/development-status
    :alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
    :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2FOpenUpgrade-lightgray.png?logo=github
    :target: https://github.com/OCA/OpenUpgrade/tree/18.0/openupgrade_framework
    :alt: OCA/OpenUpgrade
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
    :target: https://translation.odoo-community.org/projects/OpenUpgrade-18-0/OpenUpgrade-18-0-openupgrade_framework
    :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
    :target: https://runboat.odoo-community.org/builds?repo=OCA/OpenUpgrade&target_branch=18.0
    :alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module is a technical module that contains a number of
monkeypatches to improve the behaviour of Odoo when migrating your
database using the OpenUpgrade migration scripts:

- Prevent dropping columns or tables in the database when fields or
  models are obsoleted in the Odoo data model of the target release.
  After the migration, you can review and delete unused database tables
  and columns using database_cleanup. See
  https://odoo-community.org/shop/product/database-cleanup-918
- When data records are deleted during the migration (such as views or
  other system records), this is done in a secure mode. If the deletion
  fails because of some unforeseen dependency, the deletion will be
  cancelled and a message is logged, after which the migration
  continues.
- Prevent a number of log messages that do not apply when using
  OpenUpgrade.
- Suppress log messages about failed view validation, which are to be
  expected during a migration.
- Run migration scripts for modules that are installed as new
  dependencies of upgraded modules (when there are such scripts for
  those particular modules)
- Production databases generated with demo data, will be transformed to
  non-demo ones. If you want to avoid that, you have to pass through the
  environment variable OPENUPGRADE_USE_DEMO, the value "yes".

For detailed documentation see:

- https://github.com/OCA/OpenUpgrade/
- https://oca.github.io/OpenUpgrade

**Table of contents**

.. contents::
   :local:

Installation
============

This module does not need to be installed on a database. It simply needs
to be available via your ``addons-path``.

Configuration
=============

- call your odoo instance with the option
  ``--load=base,web,openupgrade_framework``

or

- add the key to your configuration file:

.. code:: shell

   [options]
   server_wide_modules = web,openupgrade_framework

When you load the module in either way of these ways, and you have the
openupgrade_scripts module in your addons path available, the
--upgrade-path option of Odoo will be set automatically to the location
of the OpenUpgrade migration scripts.

Development
===========

The odoo_patch folder contains python files in a tree that mimicks the
folder tree of the Odoo project. It contains a number of monkey patches
to improve the migration of an Odoo database between two major versions.

So far, we are able to make everything work without overwriting large
blocks of code, but if larger patches need to be added, please use the
method described below:

To see the patches added, you can use ``meld`` tools:

``meld PATH_TO_ODOO_FOLDER/odoo/ PATH_TO_OPENUPGRADE_FRAMEWORK_MODULE/odoo_patch``

To make more easy the diff analysis :

- Make sure the python files has the same path as the original one.
- Keep the same indentation as the original file. (using ``if True:`` if
  required)
- Add the following two lines at the beginning of your file, to avoid
  flake8 / pylint errors

.. code:: python

   # flake8: noqa
   # pylint: skip-file

- When you want to change the code. add the following tags:

For an addition:

.. code:: python

   # <OpenUpgrade:ADD>
   some code...
   # </OpenUpgrade>

For a change:

.. code:: python

   # <OpenUpgrade:CHANGE>
   some code...
   # </OpenUpgrade>

For a removal:

.. code:: python

   # <OpenUpgrade:REMOVE>
   # Comment the code, instead of removing it.
   # </OpenUpgrade>

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/OpenUpgrade/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/OpenUpgrade/issues/new?body=module:%20openupgrade_framework%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Therp BV
* Opener B.V.
* GRAP
* Hunki Enterprises BV

Contributors
------------

- Stefan Rijnhart <stefan@opener.amsterdam>
- Sylvain LE GAL <https://twitter.com/legalsylvain>

Other credits
-------------

Many developers have contributed to the OpenUpgrade framework in its
previous incarnation. Their original contributions may no longer needed,
or they are no longer recognizable in their current form but OpenUpgrade
would not have existed at this point without them.

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
   :alt: Odoo Community Association
   :target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-legalsylvain| image:: https://github.com/legalsylvain.png?size=40px
    :target: https://github.com/legalsylvain
    :alt: legalsylvain
.. |maintainer-StefanRijnhart| image:: https://github.com/StefanRijnhart.png?size=40px
    :target: https://github.com/StefanRijnhart
    :alt: StefanRijnhart
.. |maintainer-hbrunn| image:: https://github.com/hbrunn.png?size=40px
    :target: https://github.com/hbrunn
    :alt: hbrunn

Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-legalsylvain| |maintainer-StefanRijnhart| |maintainer-hbrunn| 

This module is part of the `OCA/OpenUpgrade <https://github.com/OCA/OpenUpgrade/tree/18.0/openupgrade_framework>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
