Help

2

How to update module list from command line?

Avatar
Temur

in the Odoo user interface we can update module list from settings, at "Settings/Modules/Update Module List"...

How to do the same operation with command line (using odoo.py) ?

3 Comments
Avatar
Discard
Avatar
Temur
-

I found related question [1] , but with no answer... [1] https://www.odoo.com/forum/help-1/question/update-from-command-line-exactly-as-fast-as-via-update-module-list-in-ui-75449

Avatar
Temur
-

and another one with an accepted answer: https://www.odoo.com/forum/help-1/question/is-update-module-list-from-command-line-possible-54578 but

 ./odoo.py -u base
takes too long, however when we update list from ui, it's fairly faster then update of base module with -u base or -i base... so it's not the same operation or equivalent...
Avatar
Temur
-

any suggestions?

4 Answers
8
Avatar
Jaakko Komulainen
Best Answer

You can create xml-file that calls ir.module.module objects update_list function. Like this:

<openerp>
    <data>
        <function model="ir.module.module" name="update_list"/>
    </data>
</openerp>


Now if you add this xml-file to module data (like you would add any other view definition or other xml-files) that update_list function gets called every time you update this module. For example you added this to a new module named "your_custom_module_updater",  so now you can start odoo with:

./odoo.py -u your_custom_module_updater 

and that module list should update every time from now on. 

*note: you still need to manually update the list for your_custom_module_updater to install it :)

3 Comments
Avatar
Discard
Avatar
Temur
-

nice workaround :) thanks!

Avatar
Mateo Tibaquira
-

thank you very much! works nicely on v9

Avatar
Pawan Kumar Sharma
-

For odoo10, How this command work? Because ./odoo.py not work for odoo10, we start our server with ./odoo-bin

0
Avatar
Saloua.sahnoune
Best Answer

cd odoo-server/

./odoo-bin -c /etc/odoo-server.conf -d data_base_name -u module_name

Avatar
Discard
0
Avatar
Solanki Shamji
Best Answer

Hello,

You can update module using below command.

./odoo.py -u modulename -d databasename

Thanks.

Shamji.


2 Comments
Avatar
Discard
Avatar
gunnar
-

I guess that's valid AFTER you have stopped the server AND reside inside of /opt/odoo/odoo-server, right?

Avatar
Solanki Shamji
-

Depend on service restart. If you use --xmlrpc-port=9999 or any port than no need to stop server which are running on 8069.

0
Avatar
Hilar AK
Best Answer

in case of odoo 10

first grant all privileges to the db for the user.

GRANT ALL PRIVILEGES ON DATABASE "my_db" to my_user;

then open terminal ctrl + t

sudo su postgres

cd path to odoo

./odoo-bin -u module_name -d db_name


Avatar
Discard