Migration tool for Odoo
Marabunta is a name given to the migration of the legionary ants or to the ants themselves. Restless, they eat and digest everything in their way.
This tool aims to run migrations for Odoo versions as efficiently as a Marabunta migration.
It loads migration instructions from a YAML file and run the operations if required.
Run the tests
To run marabunta tests, it is a good idea to do an editable install of it in a virtualenv, and then intall and run pytest as follows:
$ git clone https://github.com/camptocamp/marabunta.git Cloning into 'marabunta'... $ cd marabunta $ python2 -m virtualenv env $ source env/bin/activate $ pip install -e . $ pip install pytest $ py.test tests
- Do not print on stdout the result of operations twice
- New dependency on pexpect. Used to create a pseudo-tty to execute the operations. It enables line buffering and interactivity for pdb in the children processes.
- Noop operations are really considered as such
- Encode print’s outputs to the stdout’s encoding or to utf8 by default
- Failure when there are no version to process
- Fix decoding issues with output of subprocesses
Backward incompatible changes
--demo is replaced by a more general --mode argument, the equivalent being --mode=demo
MARABUNTA_DEMO is replaced by MARABUNTA_MODE
the configuration file has now operations and addons by “modes”, allowing to load some different scripts or install different addons for different modes (the addons list are merged and the operations of the modes are executed after the main ones):
- version: 0.0.1 operations: pre: # executed before 'addons' - echo 'pre-operation' post: # executed after 'addons' - anthem songs::install addons: upgrade: - base modes: prod: operations: pre: - echo 'pre-operation executed only when the mode is prod' post: - anthem songs::load_production_data demo: operations: post: - anthem songs::load_demo_data addons: upgrade: - demo_addon
--force renamed to --allow-serie
MARABUNTA_FORCE renamed to MARABUNTA_ALLOW_SERIE
--project-file renamed to --migration-file
MARABUNTA_PROJECT_FILE renamed to MARABUNTA_MIGRATION_FILE
- When ‘allow_serie’ is used, the same Odoo addon will not be upgraded more than one time when it is in the ‘upgrade’ section of more than one version
- Fix error when there is no db version in the database
- Fix error AttributeError: 'bool' object has no attribute 'number' when there is an unfinished version
- Fix error when the db version is above the unprocessed version
- Adapted the README so that it is rendered as ReST on pypi.
- Fixed the version information of the package and release date.
- Added support for Python 3.4 and 3.5 in addition to 2.7.
- Fixed a crash with empty install args
- Use YAML safe_load for added security.
- Bootstrapped the Sphinx documentation.
- Switched to tox for the build. This allow to run the same tests in all environment locally like in travis. The travis configuration just calls tox now.
- Added runtime dependencies to the package, kept separate from the build and test dependencies (installed separately by tox).
- Fixed problems with packaging so that now marabunta can be installable from pypi.
Initial release. This corresponds to the initial work of Guewen Baconnier.
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size marabunta-0.4.1-py2.py3-none-any.whl (18.7 kB)||File type Wheel||Python version 2.7||Upload date||Hashes View hashes|
|Filename, size marabunta-0.4.1.tar.gz (26.3 kB)||File type Source||Python version None||Upload date||Hashes View hashes|
Hashes for marabunta-0.4.1-py2.py3-none-any.whl