Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save whulshof/d711d312fda3a26ee795dc4e7aa3e66e to your computer and use it in GitHub Desktop.
Save whulshof/d711d312fda3a26ee795dc4e7aa3e66e to your computer and use it in GitHub Desktop.
Odoo - Rename an addon without losing data

Odoo - Rename an addon without losing data

Rename addon

  • Change __openerp__.py addon name field
  • Change README.rst file
sed -i 's/<old_name>/<new_name>/g' README.rst
  • Change translations files (i18n folder, .po and .pot files)
cd i18n
mv '<old_name>.pot' '<new_name>.pot'
sed -i 's/#\(.*\)\* <old_name>/#\1* <new_name>/g' *.po*
sed -i 's/#\. module: <old_name>/#. module: <new_name>/g' *.po*
sed -i 's/#: view:\(.*\):<old_name>/#: view:\1:<new_name>/g' *.po*
sed -i 's/#: model:\(.*\),name:<old_name>/#: model:\1,name:<new_name>/g' *.po*
sed -i 's/#: code:\(.*\)\/<old_name>\//#: code:\1\/<new_name>\//g' *.po*
  • Change XML ID (module part) on views, templates, records, ...

Execute these SQL queries

UPDATE ir_module_module SET name = '<new_name>' WHERE name = '<old_name>';
UPDATE ir_model_data SET module = '<new_name>' WHERE module = '<old_name>';
UPDATE ir_model_data SET name = 'module_<new_name>' 
       WHERE name = 'module_<old_name>' 
       AND module = 'base' 
       AND model = 'ir.module.module';
UPDATE ir_module_module_dependency SET name = '<new_name>'
       WHERE name = '<old_name>';
UPDATE ir_translation SET module = '<new_name>'
       WHERE module = '<old_name>';

Update any addon that depends on this one

  • Change __openerp__.py addon depends field

Restart Odoo

Update new addon

This will update any translation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment