Skip to main content

Migration tool for Odoo

Project description

https://travis-ci.org/camptocamp/marabunta.svg?branch=master

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

Release History

Unreleased

Features

Bugfixes

Improvements

Documentation

Build

0.5.0 (2016-10-12)

Odoo 10 Support

Features

  • Switch the default command line for running odoo to odoo instead of odoo.py (renamed in Odoo 10). For usage with previous version, you must specify the install_command in the migration.yml file.

0.4.2 (2016-08-17)

Bugfixes

  • Prevent error (25, ‘Inappropriate ioctl for device’) when stdout is not a tty by disabling the interactive mode.

0.4.1 (2016-07-27)

Bugfixes

  • Do not print on stdout the result of operations twice

0.4.0 (2016-07-26)

Improvements

  • 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.

Fixes

  • Noop operations are really considered as such

0.3.3 (2016-07-12)

Fixes

  • Encode print’s outputs to the stdout’s encoding or to utf8 by default

0.3.2 (2016-07-08)

Fixes

  • Failure when there are no version to process

0.3.1 (2016-07-07)

Fixes

  • Fix decoding issues with output of subprocesses

0.3.0 (2016-07-06)

Introducing modes.

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

Improvements

  • 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

Fixes

  • 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

0.2.2 (2016-06-23)

Improvements

  • Adapted the README so that it is rendered as ReST on pypi.

0.2.1 (2016-06-23)

Bugfixes

  • Fixed the version information of the package and release date.

0.2.0 (2016-06-23)

Features

  • Added support for Python 3.4 and 3.5 in addition to 2.7.

Bugfixes

  • Fixed a crash with empty install args

Improvements

  • Use YAML safe_load for added security.

Documentation

  • Bootstrapped the Sphinx documentation.

Build

  • 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).

0.1.1 (2016-06-08)

  • Fixed problems with packaging so that now marabunta can be installable from pypi.

0.1.0 (2016-06-08)

Initial release. This corresponds to the initial work of Guewen Baconnier.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

marabunta-0.5.0.tar.gz (26.8 kB view details)

Uploaded Source

Built Distributions

marabunta-0.5.0.linux-x86_64.tar.gz (23.7 kB view details)

Uploaded Source

marabunta-0.5.0-py2.py3-none-any.whl (19.2 kB view details)

Uploaded Python 2 Python 3

marabunta-0.5.0-py2.7.egg (32.7 kB view details)

Uploaded Source

File details

Details for the file marabunta-0.5.0.tar.gz.

File metadata

  • Download URL: marabunta-0.5.0.tar.gz
  • Upload date:
  • Size: 26.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for marabunta-0.5.0.tar.gz
Algorithm Hash digest
SHA256 073ba8ba0023b8b8f6ecaf18f96a9cc9f74c9834aff69b7d75ff4152892ae404
MD5 146fd714bd7621a8be9419687a6d8acb
BLAKE2b-256 2503cc5278310ac25f419e771e060d7dd6f9087428ab880b4f60efb34438a2e8

See more details on using hashes here.

File details

Details for the file marabunta-0.5.0.linux-x86_64.tar.gz.

File metadata

File hashes

Hashes for marabunta-0.5.0.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 d99c8e895b81fba0f3581223bf7fd6bce51a103398388ee23e11f651e5d2fed1
MD5 395ccf10d0c0365b8a006e098246e2df
BLAKE2b-256 78aacc15c2092d078f38e5643ee1b96cb4a9d5080c55c43f64de80c5fe992764

See more details on using hashes here.

File details

Details for the file marabunta-0.5.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for marabunta-0.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8611f114b03c1133cc3d3589cdb2ee56daaf884db9b2a0dcec4c2cb69a77e21a
MD5 a7072263e0ec825daefcbda2e4c210a0
BLAKE2b-256 e1807d0ec96468037af79e67c3286b6cf3a9974689d9e7bbcbbb9b101fb155b2

See more details on using hashes here.

File details

Details for the file marabunta-0.5.0-py2.7.egg.

File metadata

File hashes

Hashes for marabunta-0.5.0-py2.7.egg
Algorithm Hash digest
SHA256 f243819e8f0ab423ae3e5405f2dad56e721ba2fa1c91863aae5de2c04b6d68b2
MD5 d067208dd90357eb0157f552e7ff032b
BLAKE2b-256 c24891b8bec1cd4e51f3e702a9502f6b74fbaaf55bf7ed7f9bfdd9b7b6bbe82b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page