This question has been flagged
3 Replies
2285 Views

If I design a module, I can perform:

odoo -d mydatabase -u all

in order to update all modules.


However, if I want to update just one module I would expect that:

odoo -d mydatabase -u my_module_name

would fit


But it does not, I just changed the name of the module and after updating using -u my_module_name does not work.


Avatar
Discard

what kind of tittle is that? is this some kind of click bait?, check in the logs for correctly modules load, maybe you have some kind of missing dependencies

Author

No click baits at all Axel, title refers to how to update modules and body highlights doubts about that. Something that might seem obvious is not so obviously covered by the docs (it is actually still TODO in docs http://odoo-development.readthedocs.io/en/latest/odoo/usage/install-module.html)

Best Answer

If you change the name of an already installed module, then a couple of things will happen.


Firstly, when Odoo server starts, it will be looking for the already installed module - under the old name, which does not exist.

When it doesn't find that module, it will ignore it and pretend as if it is not installed.


Thus, the command you are running - update "new_module_name" will also not run because Odoo does not see "new_module_name" as already installed.


To fix this, do the following steps:

  1. Load Odoo server normally & uninstall the old_module_name

  2. Either install new_module_name through the Apps section or run the command line command "odoo -d mydatabase -i new_module_name --without-demo=new_module_name"


Now the new_module_name will be installed and future attempts to upgrade through command line will run normally.

Avatar
Discard
Author

What --without-demo does?

If a module has demo data, --without-demo specifies that it should not be installed.

Author Best Answer

Thanks for your answers

I was doing a test with a dummy module (foo_module).


In __manifest__.py I use the name:

'name': "Dummy Module",


I do:

odoo -d my_database -u all

And I can see the module ready to be installed in the module list.


Now, if I stop server, change __manifest__.py to:

'name': "Dummy Module 2",

and run:

odoo -d my_databse -u foo_module


I would expect to see "Dummy Module 2" as module name in the list of available modules, but I still see "Dummy Module".


Does -u module_name work only with installed modules?

 

Avatar
Discard
Author

I found that updating module name (inside __manifest__) is actually updated when app list is updated, an option available in the developer mode in Odoo 10 (https://www.odoo.com/forum/help-1/question/how-to-install-a-module-in-odoo-10-using-deb-package-in-ubuntu-111949)