Skip to content

Instantly share code, notes, and snippets.

@antespi
Last active August 14, 2024 18:19
Show Gist options
  • 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 ...

@rafwenger
Copy link

Tried this in V15 -> still works ...

If I understand correctly openerp.py has been replaced by manifest.py in later versions of Odoo?

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