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.
Navigáljon ahhoz a könyvtárgyökérhez, ahová letöltötte az Odoo Community forrásfájljait.
Futtassa az összes CLI parancsot a ./odoo-bin használatával
Amikor az Odoo telepítve lett, egy odoo nevű végrehajtható fájl került a felhasználó PATH-jába. Az alábbi példákban cserélje le a odoo-bin minden előfordulását odoo-ra.
Kérjük, tekintse meg az Odoo hivatalos Docker képének dokumentációját.
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
helpcommand 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_RCkö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_HOMEkörnyezeti változóban vagy~/.local/share/Odoovagy/var/lib/Odoovan meghatározva.
- -s, --save¶
menti a szerver konfigurációját az aktuális konfigurációs fájlba (
$HOME/.odoorcalapértelmezés szerint, és felülírható a-chaszná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,externalA
-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 rendelkezikstandardésat_installcí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-tagsspecifikációk alapján szűrik, és további dinamikus specifikációk szerintat_installéspost_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
ffmpegsegé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
localhostWindows rendszerenegyé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_hostto 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:%hhelyére a teljes hosztnév kerül, amelyen a kérés történik.%dhelyére a kérés aldomainje kerül, kivéve awww-t (így azodoo.comés awww.odoo.comdomain is azodooadatbá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 aodoo.comdomain(?i)%dhasználatával egyezik azOdooadatbá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.fromandmail.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-keyszü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-certificateszü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 vanxml: 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ópontt-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-enablebe 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 azX-Forwarded-Host.Mindig az
X-Forwarded-Forlá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 azX-Forwarded-Hosta kérés gyökér URL-jének frissítésére szolgál, amely viszont aweb.base.urlrendszerparamé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 azX-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
stderrhelyett. 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.loggingmodel (ir_loggingtable) 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 aLOGGER-t a megadottLEVELszinten, példáulodoo.models:DEBUGengedélyezi az összes naplózási üzenetet aDEBUGszint 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:DEBUGopció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:DEBUGopcióval
- --log-level <level>¶
Shortcut to more easily set predefined levels on specific loggers. „real” levels (
critical,error,warn,debug) are set on theodooandwerkzeugloggers (except fordebugwhich is only set onodoo).Az Odoo emellett biztosít hibakeresési pszeudo-szinteket, amelyek különböző naplózókészletekre vonatkoznak:
debug_sqlaz SQL naplózót
debugszintre állítjaegyenértékű a
--log-sqlopcióvaldebug_rpcaz
odooés a HTTP kérés naplózókatdebugszintre állítjaegyenértékű a
--log-level debug --log-requestopcióvaldebug_rpc_answeraz
odooés a HTTP kérés és válasz naplózókatdebugszintre állítjaekvivalens a
--log-level debug --log-request --log-responseopcióval
Megjegyzés
Ha konfliktus van a
--log-levelés a--log-handlerközött, az utóbbi kerül alkalmazásra
Többszálú feldolgozás¶
- --workers <count>¶
ha a
countnem 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-cpuin that this is a „wall time” limit including e.g. SQL queries.Alapértelmezett érték: 120.
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-filterdbfilter-ré válik--no-httpahttp_enablelogikai értéknek felel megnaplózási előbeállítások (minden opció, amely
--log--gal kezdődik, kivéve--log-handlerés--log-db) csak tartalmat adnak alog_handler-hez, ezt közvetlenül használja a konfigurációs fájlban--smtpsmtp_server-ként van tárolva--databasedb_name-ként van tárolva--i18n-importés--i18n-exportegyá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
envváltozóval már inicializálva indul, hogy hozzáférhessen az ORM-hez és más Odoo modulokhoz.
Lásd még
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¶
.ziporpg_dumpfile 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
Lásd még
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
destinationkö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>¶
--addons-path opció szükséges a modul mappák elérési útjának megadásához.--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
Lásd még
- -p <path>, --path <path>¶
--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>¶
--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__.pyvagy__openerp__.py)A
static/libmappa tartalmaA
testsésstatic/testsmappában definiált tesztekA
migrationsésupgradesmappában definiált migrációs szkriptekAz XML fájlok, amelyek a manifest
demovagydemo_xmlszekció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
]
**/* 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 --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/libmappá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.columnentries to obfuscate/unobfuscate.
- --file <file>¶
file containing the list of
table.columnentries to obfuscate/unobfuscate.
- --exclude¶
comma-separated list of
table.columnentries not to obfuscate/unobfuscate.
- --allfields¶
used only when
--unobfuscateis selected.Try to unobfuscate all fields. It’s slower than specifying the fields manually.
- --vacuum¶
used only when
--unobfuscateis 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_moduleinstalled.The user selected with the
--loginoption 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-filteroption)
- --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.