Database Upgrade

v 6.1 v 7.0 v 8.0 v 9.0 v 10.0 v 11.0 v 12.0 Third Party 387
Download for v 9.0
Technical Name smile_upgrade
Also available in version v 13.0 v 8.0 v 10.0 v 7.0 v 12.0 v 11.0 v 6.1
You bought this module and need support? Click here!

Smile Upgrade


  • Allow to upgrade automatically database after code update and server restarting


openerp-server -c <config_file> -d <db_name> --load=web,smile_upgrade


  • Upgrades structure

    <project_directory> `-- upgrades

    |-- 1.1 | |-- | |-- | |-- *.sql | |-- *.yml # only for post-load | |-- *.py # only for post-load | |-- *.csv # only for post-load | `-- *.xml # only for post-load |-- 1.2 | |-- | |-- | `-- *.sql `-- upgrade.conf

  • Upgrades configuration -- upgrade.conf

    [options] version=1.2

  • Upgrade configuration --
    Content: dictonary with the following keys:
    • version
    • databases: let's empty if valid for all databases
    • description
    • modules_to_install_at_creation: modules list to install at database creation
    • modules_to_upgrade: modules list to update or install
    • pre-load: list of .sql files
    • post-load: list with .sql, .yml, .py, .csv and .xml files
      with path .../filename (depending upgrades_path) or module_name/.../filename
  • Each Python file in post-load must have a function post_load_hook(env)

  • OpenERP server configuration -- rcfile=~/.openerp_serverrc

    [options] server_wide_modules = web,smile_upgrade upgrades_path = <project_directory> stop_after_upgrades = True if you want to stop server after upgrades else False

Additional features

  • In post-load, you can replace filename string by tuple (filename, 'rollback_and_continue' or 'not_rollback_and_continue' or 'raise') -- default value = 'raise'
  • In .yml files, add context['store_in_secure_mode'] = True if you want to compute fields.function (_store_set_values) by catching errors and logging them {record_id: error}

Suggestions & Feedback to:

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.