Help

3

Import data from terminal using openerp-server

Avatar
Daniel Reis

The openerp-server help states that you can use the -P option to import data from the command line.

-P IMPORT_PARTIAL, --import-partial=IMPORT_PARTIAL
                    Use this for big data importation, if it crashes you
                    will be able to continue at the current state. Provide
                    a filename to store intermediate importation states.

From this I understand that I should run:

./openerp-server -P mydata.csv --stop-after-init

Is this correct? It doesn't seem to work.

And how do I "provide a filename to store intermediate importation states"?

Avatar
Discard
1 Answer
3
Avatar
Brett Lehrer
Best Answer

Not quite. If you look at server/openerp/tools/yaml_import.py at line 330, you can see a bit more into what's happening. Also in server/openerp/tools/convert.py scattered between lines 817 and 935.

Normally when you import into OpenERP using the standard interface, it will process the entire batch at once, and then commit everything to the database if there are no exceptions raised during the import process. When you set --import-partial, you're committing after every single successful line to be imported. The file that you provide is the name of the file to dump the remaining records that were not imported once the failure occurred, so you won't have to import all of the initial, good records again until you solve every problem in the entire import.

tl;dr: It's not importing from the command line, it's altering how normal importing works.

3 Comments
Avatar
Discard
Avatar
Daniel Reis
-

So, I got it totally wrong then.

Avatar
Michael Watchorn
-

Does that mean there's no way to import CSV files from the command line?

Avatar
Michael Watchorn
-

There is this: https://erpmoldeo.wordpress.com/2011/05/10/importing-products-with-web-services-in-openerp/