Parancssori felület (CLI)

The CLI command-line interface offers several functionalities related to Odoo. You can use it to run the server, launch Odoo as a Python console environment, scaffold an Odoo module, populate a database or count the number of lines of code.

Fontos

The command to use to call the CLI depends on how you installed Odoo. In the examples below, we assume that you are running Odoo from source with the odoo-bin file. If you installed Odoo from a distribution package or with Docker, you must adapt the command.

  1. Navigáljon ahhoz a könyvtárgyökérhez, ahová letöltötte az Odoo Community forrásfájljait.

  2. Futtassa az összes CLI parancsot a ./odoo-bin használatával

Verzió

-h, --help

it can be used in combination with any command available, and it displays the options of the current command.

If no command is used, it will act as per the help command below.

--version

shows Odoo version e.g. „Odoo Server 18.0”

Javaslat

Engedélyezheti az automatikus kiegészítést a shelljében a következő futtatásával

COMMANDS=$(odoo-bin --help | sed -e "s/^    \([^ ]\+\).*$/ \1/gp;d" | xargs)
echo "complete -W '$COMMANDS' odoo-bin" >> ~/.bash_completion

help - Show available commands

This command shows all the available commands for Odoo.

It has no options.

server - Run the Server

This command is the default one: you can omit it, and it will be chosen anyway.

-d <database>, --database <database>

adatbázis(ok), amelyeket a modulok telepítése vagy frissítése során használnak. Ha vesszővel elválasztott listát ad meg, az korlátozza a hozzáférést a listában megadott adatbázisokra.

Haladó adatbázis opciókért tekintse meg alább.

-i <modules>, --init <modules>

vesszővel elválasztott lista a telepítendő modulokról a szerver futtatása előtt (igényli -d).

-u <modules>, --update <modules>

vesszővel elválasztott lista a frissítendő modulokról a szerver futtatása előtt. Használja az all értéket az összes modulhoz. (igényli -d).

--addons-path <directories>

vesszővel elválasztott lista a könyvtárakról, ahol a modulok tárolva vannak. Ezeket a könyvtárakat átvizsgálják modulok után.

--upgrade-path <upgrade_path>

comma-separated list of directories from which additional upgrade scripts are loaded.

--pre-upgrade-scripts <pre_upgrade_scripts>

comma-separated list of paths to upgrade scripts. The scripts are run before loading base module when an upgrade of any module is requested. This is useful to perform some actions during custom modules upgrade after a major upgrade.

--load <modules>

a szerver szintű betöltendő modulok listája. Ezek a modulok olyan funkciókat biztosítanak, amelyek nem feltétlenül kötődnek egy adott adatbázishoz. Ez ellentétben áll azokkal a modulokkal, amelyek mindig egy adott adatbázishoz kötődnek, amikor telepítik őket (azaz az Odoo bővítmények többsége). Az alapértelmezett base,web.

-c <config>, --config <config>

útvonal egy alternatív konfigurációs fájlhoz. Ha nincs meghatározva, az Odoo ellenőrzi az ODOO_RC környezeti változót és az alapértelmezett helyet $HOME/.odoorc. Lásd a konfigurációs fájl szekciót alább.

-D <data-dir-path>, --data-dir <data-dir-path>

könyvtár útvonala, ahol az Odoo adatokat tárol (pl. fájltár, munkamenetek). Ha nincs megadva, az Odoo egy előre meghatározott útvonalat használ. Unix rendszereken ez az $XDG_DATA_HOME környezeti változóban vagy ~/.local/share/Odoo vagy /var/lib/Odoo van meghatározva.

-s, --save

menti a szerver konfigurációját az aktuális konfigurációs fájlba ($HOME/.odoorc alapértelmezés szerint, és felülírható a -c használatával).

--without-demo

letiltja a modulok telepítésekor a demó adatok betöltését, vesszővel elválasztva, használja az all értéket az összes modulhoz. Szükséges a -d és a -i.

--pidfile=<pidfile>

az a fájl elérési útja, ahol a szerver pid tárolva lesz

--stop-after-init

leállítja a szervert az inicializálás után.

--geoip-city-db <path>

A GeoIP City adatbázisfájl abszolút elérési útja.

--geoip-country-db <path>

A GeoIP Country adatbázisfájl abszolút elérési útja.

Testing

--test-enable

teszteket futtat a modul telepítése után

--test-file <file>

python tesztfájlt futtat

--test-tags [-][tag][/module][:class][.method]

Vesszővel elválasztott lista a végrehajtandó tesztek szűrésére. Egységtesztek engedélyezése, ha be van állítva.

Példa: --test-tags :TestClass.test_func,/test_module,external

  • A - jelzi, hogy be akarjuk-e vonni vagy ki akarjuk-e zárni azokat a teszteket, amelyek megfelelnek ennek a specifikációnak.

  • A címke egyezni fog az osztályhoz hozzáadott címkékkel, amelyek egy tagged() dekorátorral vannak ellátva (minden teszt osztály rendelkezik standard és at_install címkékkel, amíg kifejezetten el nem távolítják őket, lásd a dekorátor dokumentációját).

  • * minden címkével egyezni fog.

  • Ha a címke kihagyásra kerül a beillesztési módban, annak értéke standard.

  • Ha a címke kihagyásra kerül a kizárási módban, annak értéke *.

  • A modul, osztály és metódus rendre a modul nevét, a teszt osztály nevét és a teszt metódus nevét fogja egyeztetni.

A tesztek szűrése és végrehajtása kétszer történik: közvetlenül minden modul telepítése/frissítése után és a modulok betöltésének végén. Mindkét szakaszban a teszteket a --test-tags specifikációk alapján szűrik, és további dinamikus specifikációk szerint at_install és post_install.

--screenshots

Adja meg a könyvtárat, ahová a képernyőképeket írja, amikor egy HttpCase.browser_js teszt meghiúsul. Alapértelmezés szerint /tmp/odoo_tests/db_name/screenshots

--screencasts

Engedélyezze a képernyőfelvételeket, és adja meg a könyvtárat, ahová a képernyőfelvétel fájlokat írja. Az ffmpeg segédprogramot telepíteni kell, hogy a képkockákat videófájlba kódolja. Ellenkező esetben a képkockák megmaradnak a videófájl helyett.

Adatbázis

-r <user>, --db_user <user>

adatbázis felhasználónév, amelyet a PostgreSQL-hez való csatlakozáshoz használnak.

-w <password>, --db_password <password>

adatbázis jelszó, ha jelszó hitelesítést használnak.

--db_host <hostname>

adatbázis szerver hosztja

  • localhost Windows rendszeren

  • egyébként UNIX socket

--db_port <port>

port, amelyen az adatbázis figyel, alapértelmezés szerint 5432

--db_replica_host <hostname>

host for the replica server

When set, it redirect all read-only transactions to this host, instead of of the primary database at --db_host.

The host can be set to an empty string or to the same value as --db_host to simulate a replicated environnement, for development.

--db_replica_port <port>

port the replica database listens on, defaults to 5432

--db-filter <filter>

hides databases that do not match <filter> for the Web UI. The filter is a regular expression, with the additions that:

  • %h helyére a teljes hosztnév kerül, amelyen a kérés történik.

  • %d helyére a kérés aldomainje kerül, kivéve a www-t (így az odoo.com és a www.odoo.com domain is az odoo adatbázissal egyezik meg).

    Ezek a műveletek kis- és nagybetű érzékenyek. Adja hozzá az (?i) opciót az összes adatbázis egyezéséhez (így a odoo.com domain (?i)%d használatával egyezik az Odoo adatbázissal).

A 11-es verzió óta lehetőség van a hozzáférés korlátozására egy adott adatbázis hallgatására a –database paraméter használatával, és vesszővel elválasztott adatbázislista megadásával.

A két paraméter kombinálásakor a db-filter felülírja a vesszővel elválasztott adatbázislistát az adatbázislista korlátozására, míg a vesszővel elválasztott lista a kért műveletek, például a modulok frissítésének végrehajtására szolgál.

$ odoo-bin --db-filter ^11.*$

Korlátozza a hozzáférést azokra az adatbázisokra, amelyek neve 11-gyel kezdődik

$ odoo-bin --database 11firstdatabase,11seconddatabase

Korlátozza a hozzáférést csak két adatbázisra, 11firstdatabase és 11seconddatabase

$ odoo-bin --database 11firstdatabase,11seconddatabase -u base

Korlátozza a hozzáférést csak két adatbázisra, 11firstdatabase és 11seconddatabase, és frissítse az alap modult az egyik adatbázison: 11firstdatabase. Ha a 11seconddatabase adatbázis nem létezik, az adatbázis létrejön, és az alap modulok telepítve lesznek

$ odoo-bin --db-filter ^11.*$ --database 11firstdatabase,11seconddatabase -u base

Korlátozza a hozzáférést azokra az adatbázisokra, amelyek neve 11-gyel kezdődik, és frissítse az alap modult az egyik adatbázison: 11firstdatabase. Ha a 11seconddatabase adatbázis nem létezik, az adatbázis létrejön, és az alap modulok telepítve lesznek

Figyelem

This option does not affect cron workers, if no –database is given, cron workers will run on every available database

--db-template <template>

új adatbázisok létrehozásakor az adatbázis-kezelő képernyőkről használja a megadott template database-t. Alapértelmezett érték: template0.

--pg_path </path/to/postgresql/binaries>

Az adatbázis-kezelő által az adatbázisok mentésére és visszaállítására használt PostgreSQL binárisok elérési útja. Ezt az opciót csak akkor kell megadnia, ha ezek a binárisok nem szabványos könyvtárban találhatók.

--no-database-list

Megszünteti a rendszerben elérhető adatbázisok listázásának lehetőségét

--db_sslmode

Szabályozza az SSL biztonságát az Odoo és a PostgreSQL közötti kapcsolatnak. Az értéknek az alábbiak egyikének kell lennie: «disable», «allow», «prefer», «require», «verify-ca» vagy «verify-full». Az alapértelmezett érték «prefer».

--unaccent

Próbálja meg engedélyezni az unaccent kiterjesztést új adatbázisok létrehozásakor

E-mailek

--email-from <address>

Az e-mail cím, amelyet <FROM> címként használnak, amikor az Odoo e-maileket küld

--from-filter <address or domain>

Define which email address the SMTP configuration will apply to. The field can be a domain name or an entire email address, or it can remain empty. If the sender’s email address does not match this set filter, then the email will be encapsulated using a combination of the two system parameters: mail.default.from and mail.catchall.domain. For example, „Admin” <[email protected]> => „Admin” <[email protected]>.

--smtp <server>

Az SMTP szerver címe, amelyhez csatlakozni kell az e-mailek küldéséhez

--smtp-port <port>
--smtp-ssl

Ha be van állítva, az odoo SSL/STARTSSL SMTP kapcsolatokat használjon

--smtp-user <name>

Felhasználónév az SMTP szerverhez való csatlakozáshoz

--smtp-password <password>

Jelszó az SMTP szerverhez való csatlakozáshoz

--smtp-ssl-certificate-filename <path/to/cert.pem>

Egy SSL tanúsítványt kell használni hitelesítéshez. Ha be van állítva, akkor smtp-ssl-private-key szükséges.

--smtp-ssl-private-key-filename <path/to/key.pem>

Egy SSL privát kulcsot használnak hitelesítéshez. Ha be van állítva, akkor smtp-ssl-certificate szükséges.

Nemzetköziesítés

Használja ezeket az opciókat az Odoo más nyelvre történő fordításához. Lásd a felhasználói kézikönyv i18n szakaszát. Az «-d» opció kötelező. Az «-l» opció kötelező importálás esetén

--load-language <languages>

megadja a fordításokhoz betöltendő nyelveket (vesszővel elválasztva)

-l, --language <language>

adja meg a fordítási fájl nyelvét. Használja –i18n-export vagy –i18n-import opcióval

--i18n-export <filename>

exportálja az összes lefordítandó mondatot egy CSV fájlba, PO fájlba vagy TGZ archívumba, majd kilép.

--i18n-import <filename>

importál egy CSV vagy PO fájlt fordításokkal, majd kilép. Az «-l» opció szükséges.

--i18n-overwrite

felülírja a meglévő fordítási kifejezéseket egy modul frissítésekor vagy egy CSV vagy PO fájl importálásakor.

--modules

adja meg az exportálandó modulokat. Használja –i18n-export opcióval kombinálva

Haladó beállítások

Fejlesztői funkciók

--dev <feature,feature,...,feature>

vesszővel elválasztott funkciólista. Csak fejlesztési célokra. Ne használja éles környezetben. Lehetséges funkciók:

  • all: az alábbi összes funkció aktiválva van

  • xml: QWeb sablon közvetlen olvasása xml fájlból az adatbázis helyett. Ha egy sablont módosítanak az adatbázisban, az nem lesz olvasva az xml fájlból a következő frissítés/init-ig. Különösen, a sablonok nem lesznek lefordítva ezen opció használatakor.

  • reload: a szerver újraindítása, amikor a python fájlok frissülnek (előfordulhat, hogy nem észlelhető a használt szövegszerkesztőtől függően)

  • qweb: megszakítás a QWeb sablon értékelésében, amikor egy csomópont t-debug='debugger' tartalmaz

  • (i)p(u)db: a választott python hibakereső indítása a kódban, amikor váratlan hiba merül fel a naplózás és a hiba visszaadása előtt.

  • werkzeug: a teljes visszakövetés megjelenítése az elülső oldalon kivétel esetén

HTTP

--no-http

ne indítsa el a HTTP vagy hosszú lekérdezéses munkásokat (előfordulhat, hogy a cron munkások mégis elindulnak)

Figyelem

nincs hatása, ha a --test-enable be van állítva, mivel a tesztekhez elérhető HTTP szerver szükséges

--http-interface <interface>

A TCP/IP cím, amelyen a HTTP szerver figyel, alapértelmezés szerint 0.0.0.0 (minden cím)

-p <port>
--http-port <port>

A port, amelyen a HTTP szerver figyel, alapértelmezés szerint 8069.

--gevent-port <port>

A websockets kapcsolatok TCP portja többprocesszoros vagy gevent módban, alapértelmezés szerint 8072. Nem használatos alapértelmezett (szálas) módban.

--proxy-mode

engedélyezi az X-Forwarded-* fejlécek használatát Werkzeug proxy támogatásán keresztül.

Figyelmen kívül hagyja az összes X-Forwarded-* fejlécet, ha a kérésből hiányzik az X-Forwarded-Host.

Mindig az X-Forwarded-For lánc utolsó bejegyzéséből szerzi meg a valós IP-t. Konfigurálja web szerverét ennek megfelelően olyan direktívák használatával, mint például az nginx set_real_ip_from, ha a láncban más megbízható proxyk is vannak, amelyeket figyelmen kívül kell hagyni.

Az X-Forwarded-Proto és az X-Forwarded-Host a kérés gyökér URL-jének frissítésére szolgál, amely viszont a web.base.url rendszerparaméter frissítésére szolgál sikeres adminisztrátori hitelesítés esetén. Ez a rendszerparaméter az aktuális adatbázis összes linkjének generálására szolgál; lásd Egy adatbázis web alap URL-je.

Figyelem

a proxy módot nem szabad engedélyezni fordított proxy szcenárión kívül

--x-sendfile

átadja a mellékletek fájljainak kiszolgálását a statikus web szervernek, és beállítja mind az X-Sendfile (apache), mind az X-Accel-* (nginx) http fejléceket a stream válaszoknál. Lásd Statikus fájlok és mellékletek kiszolgálása a web szerver konfigurációjához.

Naplózás

Alapértelmezés szerint az Odoo az összes INFO, WARNING és ERROR szintű naplózást megjeleníti. Minden napló, függetlenül a szinttől, a stderr-re kerül kiírásra. Különböző lehetőségek állnak rendelkezésre a naplózás más célállomásokra történő átirányítására és a részletesség testreszabására.

--logfile <file>

a naplózási kimenetet a megadott fájlba küldi a stderr helyett. Unix rendszereken a fájl külső napló forgatási programok által kezelhető és automatikusan újra megnyílik, amikor kicserélik

--syslog

naplóz a rendszer eseménynaplójába: syslog unices rendszereken és az Eseménynapló Windows rendszereken.

Egyik sem konfigurálható

--log-db <dbname>

logs to the ir.logging model (ir_logging table) of the specified database. The database can be the name of a database in the „current” PostgreSQL, or a PostgreSQL URI for e.g. log aggregation.

--log-handler <handler-spec>

LOGGER:LEVEL, engedélyezi a LOGGER-t a megadott LEVEL szinten, például odoo.models:DEBUG engedélyezi az összes naplózási üzenetet a DEBUG szint felett vagy azon a szinten a modellekben.

  • A kettőspont : kötelező

  • A naplózó elhagyható az alapértelmezett (root) kezelő konfigurálásához

  • Ha a szint elmarad, a naplózó INFO-ra van állítva

Az opció ismételhető több naplózó konfigurálásához, például

$ odoo-bin --log-handler :DEBUG --log-handler werkzeug:CRITICAL --log-handler odoo.fields:WARNING
--log-web

engedi a HTTP kérések és válaszok DEBUG naplózását, ami egyenértékű a --log-handler=odoo.http:DEBUG opcióval

--log-sql

lehetővé teszi az SQL lekérdezések DEBUG naplózását, ami egyenértékű a --log-handler=odoo.sql_db:DEBUG opcióval

--log-level <level>

Shortcut to more easily set predefined levels on specific loggers. „real” levels (critical, error, warn, debug) are set on the odoo and werkzeug loggers (except for debug which is only set on odoo).

Az Odoo emellett biztosít hibakeresési pszeudo-szinteket, amelyek különböző naplózókészletekre vonatkoznak:

debug_sql

az SQL naplózót debug szintre állítja

egyenértékű a --log-sql opcióval

debug_rpc

az odoo és a HTTP kérés naplózókat debug szintre állítja

egyenértékű a --log-level debug --log-request opcióval

debug_rpc_answer

az odoo és a HTTP kérés és válasz naplózókat debug szintre állítja

ekvivalens a --log-level debug --log-request --log-response opcióval

Megjegyzés

Ha konfliktus van a --log-level és a --log-handler között, az utóbbi kerül alkalmazásra

Többszálú feldolgozás

--workers <count>

ha a count nem 0 (az alapértelmezett), engedélyezi a többszálú feldolgozást, és beállítja a megadott számú HTTP munkavállalót (alfolyamatokat, amelyek HTTP és RPC kéréseket dolgoznak fel).

Megjegyzés

a többszálú feldolgozási mód csak Unix-alapú rendszereken érhető el

Számos opció lehetővé teszi a munkavállalók korlátozását és újrahasznosítását:

--limit-request <limit>

Az a kérésszám, amelyet egy munkavállaló feldolgoz, mielőtt újrahasznosításra és újraindításra kerülne.

Alapértelmezett érték: 8196.

--limit-memory-soft <limit>

A munkavállalónként megengedett maximális virtuális memória bájtban. Ha a korlát túllépésre kerül, a munkavállaló megölésre és újrahasznosításra kerül az aktuális kérés végén.

Alapértelmezett érték: 2048MiB (2048*1024*1024B).

--limit-memory-hard <limit>

Kemény korlát a virtuális memória méretére bájtokban, bármely munkavállaló, aki túllépi a korlátot, azonnal leállításra kerül, anélkül, hogy megvárnák a jelenlegi kérés feldolgozásának végét.

Alapértelmezett érték: 2560MiB (2560*1024*1024B).

--limit-time-cpu <limit>

Megakadályozza, hogy a munkavállaló több mint <limit> CPU másodpercet használjon fel minden kéréshez. Ha a korlát túllépésre kerül, a munkavállaló leállításra kerül.

Alapértelmezett érték: 60.

--limit-time-real <limit>

Megakadályozza, hogy a munkavállaló hosszabb ideig tartson, mint <limit> másodperc egy kérés feldolgozásához. Ha a korlát túllépésre kerül, a munkavállaló leállításra kerül.

Differs from --limit-time-cpu in that this is a „wall time” limit including e.g. SQL queries.

Alapértelmezett érték: 120.

--max-cron-threads <count>

a cron feladatokhoz dedikált munkavállalók száma. Alapértelmezett érték: 2. A munkavállalók szálak több szálú módban és folyamatok több feldolgozási módban.

Több feldolgozási módban ez kiegészíti a HTTP munkavállalói folyamatokat.

--limit-time-worker-cron <limit>

Soft limit on how long a cron thread/worker is allowed to live before is is restarted, in seconds.

Set to 0 to disable.

Defaults to 0.

Konfigurációs fájl

A parancssori opciók többsége konfigurációs fájlon keresztül is megadható. Legtöbbször hasonló neveket használnak, az előtag - eltávolításával és a többi - helyettesítésével _ például --db-template db_template lesz.

Néhány konverzió nem felel meg a mintának:

  • --db-filter dbfilter-ré válik

  • --no-http a http_enable logikai értéknek felel meg

  • naplózási előbeállítások (minden opció, amely --log--gal kezdődik, kivéve --log-handler és --log-db) csak tartalmat adnak a log_handler-hez, ezt közvetlenül használja a konfigurációs fájlban

  • --smtp smtp_server-ként van tárolva

  • --database db_name-ként van tárolva

  • --i18n-import és --i18n-export egyáltalán nem érhetők el a konfigurációs fájlokból

Az alapértelmezett konfigurációs fájl $HOME/.odoorc, amelyet felülírhat az --config használatával. Az --save megadása visszamenti az aktuális konfigurációs állapotot ebbe a fájlba. A parancssorhoz viszonyított konfigurációs elemeket az [options] szekcióban kell megadni.

Itt egy minta fájl:

[options]
db_user=odoo
dbfilter=odoo

shell - Open a Shell

The Odoo command line also allows launching Odoo as a Python console environment, enabling direct interaction with the orm and its functionalities. Since running a shell involves starting the server, the configuration file options do apply.

$ odoo-bin shell

Example

Felkiáltójel hozzáadása az összes partner nevéhez:

In [1]: records = env["res.partner"].search([])

In [2]: records
Out[2]: res.partner(14, 26, 33, 21, 10)

In [3]: for partner in records:
   ...:     partner.name = "%s !" % partner.name
   ...:

In [4]: env.cr.commit()

Fontos

Alapértelmezés szerint a shell tranzakciós módban fut. Ez azt jelenti, hogy az adatbázisban végrehajtott bármilyen módosítás visszavonásra kerül a shellből való kilépéskor. A módosítások véglegesítéséhez használja az env.cr.commit() parancsot.

--shell-interface (ipython|ptpython|bpython|python)

Adjon meg egy preferált REPL-t a shell módban való használathoz. Ez a shell az env változóval már inicializálva indul, hogy hozzáférhessen az ORM-hez és más Odoo modulokhoz.

Lásd még

Környezet

db - Manage a Database

This command lets you manage databases through a command-line interface. The operations are specified using subcommands.

For all subcommands, these options to configure your environment are available:

db dump - Save a Database Dump

Creates a dump file.

$ odoo-bin db dump <database> <dump_path>
database

Name of the database to dump.

dump_path

(Optional) Database is dumped to specified path. By default it is dumped to stdout.

--format <zip | dump>

If provided, database is dumped used the specified format. Supported formats are zip (default), dump (pg_dump format).

--no-filestore

If provided, zip database is dumped without filestore

db load - Load a Database Dump

Loads a dump file into an Odoo database, the dump file can be a URL.

$ odoo-bin db load <database> <dump_file>
database

(Optional) Name of the database to create from the dump. If not provided, the dump filename without extension is used.

dump_file

.zip or pg_dump file to be loaded.

-f,--force

Delete the database if it already exists, before loading the new one.

-n,--neutralize

Neutralize the database after restoring it.

db duplicate - Duplicate a Database

Duplicate a database including filestore.

$ odoo-bin db duplicate <source> <target>
source

Name of the source database.

target

Name of the target database.

-n,--neutralize

Neutralize the database, after restoring it.

-f,--force

Delete the target database if it already exists, before initializing the new one.

db rename - Rename a Database

Rename a database from an old name to a new one.

$ odoo-bin db rename <source> <target>
source

Current name of the database.

target

New name for the database.

-f,--force

Delete the target database if it already exists, before renaming the source one.

db drop - Delete a Database

$ odoo-bin db drop <database>
database

Name of the database to drop.

neutralize - Neutralize a Database

The Odoo command line allows for neutralizing a database as well. The command must be run with a database option.

$ odoo-bin --addons-path <PATH,...> neutralize -d <database>
-d <database>, --database <database>

Specify the database name that you would like to neutralize.

--stdout

Output the neutralization SQL instead of applying it

scaffold - Scaffold a Module

A vázszerkezet egy csontváz struktúra automatikus létrehozása az egyszerűsített indításhoz (új modulok esetén, az Odoo esetében). Bár nem szükséges, elkerüli az alapvető struktúrák beállításának és az összes kezdő követelmény megkeresésének fáradalmait.

A vázszerkezet elérhető az odoo-bin scaffold alparancson keresztül.

$ odoo-bin scaffold my_module /addons/
name (required)

a létrehozandó modul neve, amely különböző módokon módosítható programozási nevek generálásához (pl. modul könyvtár neve, modellnevek, …)

destination (default=current directory)

a könyvtár, amelyben az új modult létre kell hozni, alapértelmezés szerint az aktuális könyvtár

-t <template>

egy sablon könyvtár, a fájlok a jinja2 segítségével kerülnek feldolgozásra, majd a destination könyvtárba másolódnak

Ez létrehozza a my_module modult a /addons/ könyvtárban.

populate - Populate a Database

Odoo Populate allows to duplicate existing data in a given database. This can be used for testing and benchmarking when large tables are needed. The duplication process introduces variation for some fields to respect UNIQUE constraints, among other things. It also follows x2Many relationships.

$ odoo-bin populate -d  my_database --models res.partner,account.move --factors 1000
-d <database>

name of the database to populate

--models <models>

list of models to populate. Models appearing twice will only be populated once.

--factors

Comma separated list of factors for each model, or just a single factor.(Ex: a factor of 3 means the given model will be copied 3 times, reaching 4x it’s original size) The last factor is propagated to the remaining models without a factor.

--sep

separator used to generate record names

cloc - Count Lines of Code

Odoo Cloc is a tool to count the number of relevant lines of code written in Python, Javascript, CSS, SCSS, or XML. This can be used as a rough metric for pricing maintenance of extra modules.

$ odoo-bin cloc -c config.conf -d my_database
-d <database>, --database <database>
Dolgozza fel a megadott adatbázisban telepített összes extra modul kódját, valamint a megadott adatbázisban manuálisan létrehozott összes szerver művelet és számított mező kódját.
A --addons-path opció szükséges a modul mappák elérési útjának megadásához.
Ha a --path opcióval kombinálva van, a számlálás mindkét opció eredményének összegét adja (esetleges átfedésekkel). Legalább az egyik opció szükséges annak meghatározásához, hogy melyik kódot kell feldolgozni.
$ odoo-bin cloc --addons-path=addons -d my_database
-p <path>, --path <path>
Dolgozza fel a megadott elérési úton található fájlokat.
Ha a --database opcióval kombinálva van, a számlálás mindkét opció eredményének összegét adja (esetleges átfedésekkel). Legalább az egyik opció szükséges annak meghatározásához, hogy melyik kódot kell feldolgozni.
$ odoo-bin cloc -p addons/account

Több elérési út is megadható az opció ismétlésével.

$ odoo-bin cloc -p addons/account -p addons/sale

Lásd még

--addons-path <directories>
Vesszővel elválasztott könyvtárak listája, ahol a modulok tárolva vannak. Ezeket a könyvtárakat átvizsgálják modulok után.
Kötelező, ha a --database opciót használják.
-c <directories>

Adjon meg egy konfigurációs fájlt, amelyet a --addons-path opció helyett használ.

-v, --verbose

Mutassa a részleteket az egyes fájlokhoz számolt sorokról.

Feldolgozott fájlok

A --database opcióval

Az Odoo Cloc megszámolja a sorokat az extra telepített modulok minden fájljában egy adott adatbázisban. Ezenkívül megszámolja a szerver műveletek és az egyedileg létrehozott vagy importált számított mezők Python sorait. Végül megszámolja a Javascript, CSS és SCSS fájlok, valamint az importált modulok QWeb nézeteinek kódsorait.

Néhány fájl alapértelmezés szerint ki van zárva a számlálásból:

  • A manifest (__manifest__.py vagy __openerp__.py)

  • A static/lib mappa tartalma

  • A tests és static/tests mappában definiált tesztek

  • A migrations és upgrades mappában definiált migrációs szkriptek

  • Az XML fájlok, amelyek a manifest demo vagy demo_xml szekcióiban vannak deklarálva

Különleges esetekben megadható egy fájllista, amelyeket az Odoo Cloc figyelmen kívül hagyjon modulonként. Ezt a manifest cloc_exclude bejegyzése határozza meg:

"cloc_exclude": [
    "lib/common.py", # exclude a single file
    "data/*.xml",    # exclude all XML files in a specific folder
    "example/**/*",  # exclude all files in a folder hierarchy recursively
    "**/*.scss",     # exclude all scss file from the module
]
A **/* minta használható egy teljes modul figyelmen kívül hagyására. Ez hasznos lehet egy modul karbantartási szolgáltatási költségekből való kizárására.
A minta szintaxisáról további információkért lásd a glob.

A --path opcióval

Ez a módszer ugyanúgy működik, mint a –database option esetében, ha a megadott mappában van manifest fájl. Ellenkező esetben az összes fájlt számolja.

Extra modulok azonosítása

Az Odoo Cloc a következő heurisztikát használja a standard és extra modulok megkülönböztetésére: azok a modulok, amelyek ugyanabban a szülőkönyvtárban találhatók (valós fájlrendszer útvonal, szimbolikus linkek követése után), mint a base, web vagy web_enterprise standard modulok, standardnak tekintendők. Más modulok extra modulokként kezelendők.

Hibakezelés

Néhány fájlt nem lehet megszámolni az Odoo Cloc által. Ezeket a fájlokat a kimenet végén jelentjük.

Maximális fájlméret túllépve

Az Odoo Cloc elutasít minden 25 MB-nál nagyobb fájlt. Általában a forrásfájlok kisebbek, mint 1 MB. Ha egy fájl elutasításra kerül, az lehet:

  • Egy generált XML fájl, amely sok adatot tartalmaz. Ezt ki kell zárni a manifestben.

  • Egy JavaScript könyvtár, amelyet a static/lib mappába kell helyezni.

Szintaktikai hiba

Az Odoo Cloc nem tudja megszámolni a kódsorokat egy Python fájlban, ha szintaktikai probléma van. Ha egy extra modul ilyen fájlokat tartalmaz, azokat javítani kell, hogy a modul betöltődjön. Ha a modul működik ezeknek a fájloknak a jelenléte ellenére, valószínűleg nincsenek betöltve, ezért el kell távolítani őket a modulból, vagy legalább ki kell zárni a manifestben a cloc_exclude segítségével.

obfuscate - Obfuscate database

This command provides a quick and easy way to obfuscate some of the data in the Odoo instance, mainly used for instructional purposes or to make quick videos for the support team helping technicians avoid leaking sensitive information.

Figyelem

This command must be used carefully, as it is not considered a safe method for full anonymizing data before transfer to a third party. Images, PDF attachments, amounts, many other informations may not be obfuscated and cause sensitive information leaks. A thorough review is required before sharing data to ensure that no sensitive information is exposed.

Obfuscation is symmetric, so content can be unobfuscated using the same password.

All the configurations available for the server command are available here too.

$ odoo-bin obfuscate --pwd=<password>
--pwd <password>

(Required) the password that will be used to symmetrically obfuscate content.

--unobfuscate

if you want to unobfuscate instead of obfuscate.

--fields <fields>

comma-separated list of table.column entries to obfuscate/unobfuscate.

--file <file>

file containing the list of table.column entries to obfuscate/unobfuscate.

--exclude

comma-separated list of table.column entries not to obfuscate/unobfuscate.

--allfields

used only when --unobfuscate is selected.

Try to unobfuscate all fields. It’s slower than specifying the fields manually.

--vacuum

used only when --unobfuscate is selected.

After unobfuscation, completely clear the obfuscated tables and reclaim unused disk space.

--pertablecommit

commit once per table, after obfuscation.

It avoids big transactions that might get a timeout or face rollback after an error.

-y,--yes

don’t ask for manual confirmation.

Only use if you’re sure that you’re not going to leak sensible information by sharing the database to third party without a review.

deploy - Deploy module remotely

This command uploads a module to a remote Odoo server and installs it. It’s simpler than manually connecting to the remote server, and it does not require full access to the machine that hosts the Odoo instance, only the Odoo administrative credentials.

$ odoo-bin deploy <path> <url> --db <dbname> --login <login> --password <password>

Megjegyzés

Prerequisites:

  • The server must have the module base_import_module installed.

  • The user selected with the --login option must have administrative rights.

path

path of the module to be deployed

url

(Optional) url of the server where the module must be deployed (default http://localhost:8069)

db <dbname>

database name (if the server does not use the --db-filter option)

--login <username>

name of the user with admin rights (default admin)

--password <password>

password of the user with admin rights (default admin)

--verify-ssl

verify the server’s SSL certificate, to ensure the target instance is legit.

--force

re-initialize the module in case it’s already installed. It will update noupdate="1" records.