Skip to content

Instantly share code, notes, and snippets.

@antespi
Last active April 10, 2024 15:29
Show Gist options
  • Star 34 You must be signed in to star a gist
  • Fork 31 You must be signed in to fork a gist
  • Save antespi/38978614e522b1a99563 to your computer and use it in GitHub Desktop.
Save antespi/38978614e522b1a99563 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

@alejandrosantana
Copy link

¡Genial!

@kamanazan
Copy link

Thank you for the tutorial, it's really helping

@carlosmaguda
Copy link

Thank you!

@oussama-ht
Copy link

thanks is very useful

@e-belair
Copy link

which Odoo version please?

@whulshof
Copy link

Brilliant. This should work for most if not all versions. At least up to 10.0 it works.

@Fitranugraha
Copy link

Has anyone made it with the Odoo 12?

@Montxu
Copy link

Montxu commented Mar 4, 2020

Has anyone made it with the Odoo 12?

Hi, I just tried it and it works fine in V12. Thanks!

@huerzelerpe
Copy link

Tried this in V15 -> still works ...

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