Smile Upgrade
Features
- Allow to upgrade automatically database after code update and server restarting
Execution
openerp-server -c <config_file> -d <db_name> --load=web,smile_upgrade
Configuration
- Upgrades structure
<project_directory> `-- upgrades
|-- 1.1 | |-- __init__.py | |-- __upgrade__.py | |-- *.sql | |-- *.yml # only for post-load | |-- *.py # only for post-load | |-- *.csv # only for post-load | `-- *.xml # only for post-load |-- 1.2 | |-- __init__.py | |-- __upgrade__.py | `-- *.sql `-- upgrade.conf
- Upgrades configuration -- upgrade.conf
[options] version=1.2
- Upgrade configuration -- __upgrade__.py
- 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: corentin.pouhet-brunerie@smile.fr
Please log in to comment on this module