Skip to Content

Ustvarjanje baze Odoo

create_database.py ustvari novo bazo Odoo 18 Community, nastavi vgrajenega skrbnika in namesti izbrane module brez predstavitvenih podatkov. Vedno vključi base in web. Odvisnosti in samodejno nameščeni moduli sledijo običajnim pravilom Odoo. Končna poslovna nastavitev se opravi v uporabniškem vmesniku.

Predpogoji

Zaženite v predvidenem virtualnem okolju Odoo kot storitveni račun Odoo. Vloga PostgreSQL potrebuje CREATEDB, sistemski račun pa dostop do nastavljene podatkovne mape. Konfiguracija Odoo določa povezavo PostgreSQL, addons_path in data_dir; ukaz ne uporablja skupnega registra vzdevkov baz. Privzete vrednosti ciljajo _pmisuite18; drugo instanco Odoo 18 izberete z --config in --odoo-root. Odvisnosti morajo biti že nameščene.

Do uspešnega zaključka preprečite dostop do nove baze vsem storitvam Odoo in drugim zapisovalcem: ustavite ustrezno storitev ali izključite cilj iz izbire baz. Inicializacija ima vmesne potrditve in začasno uporablja začetne račune Odoo. Ukaz ne zažene strežnika HTTP ali opravil cron, vendar lahko izbrani dodatki izvedejo namestitvene funkcije z zunanjimi učinki. Pred izvedbo preglejte in odobrite izbor modulov.

Predogled in ustvarjanje

Obvezno je samo ime baze. Ob aktiviranem predvidenem virtualnem okolju Odoo:

/srv/pmiverse/_pmiconfig/scripts/create/create_database.py example_new

Uporabi se vgrajeni skrbnik (base.user_admin, običajno ID 2) s prijavo admin, namesti seznam modulov iz skupne konfiguracije in ustvari geslo v /srv/pmiverse/_pmiprivate/example_new_init_pass. --admin-login podajte le za drugo prijavo. Obstoječe datoteke poverilnic so zavrnjene, razen če jih izrecno izberete z --admin-password-file.

Predogled potrebuje le standardno knjižnico Python. Če --modules ni podan, prebere skupne privzete module. Ne naloži Odoo, ne bere konfiguracije Odoo ali datoteke gesla, ne ustvari oziroma shrani gesla, se ne poveže s PostgreSQL in ne preverja razpoložljivosti modulov. Brez vhodne datoteke prikaže privzeto izhodno pot gesla:

/srv/pmiverse/_pmisuite18/venv/bin/python \
  /srv/pmiverse/_pmiconfig/scripts/create/create_database.py example_new \
  --admin-login admin@example.invalid \
  --company-name 'Example Company' --country SI \
  --modules contacts,sale_management --dry-run

Če --modules ni podan, ukaz prebere modules iz [create_database] v ../../config/create_database.conf, relativno na ta repozitorij ne glede na trenutno mapo. Začetni seznam je base,web; skupne privzete module nastavite v tej datoteki. Primer:

[create_database]
modules = base,web,contacts,sale_management

Izrecni --modules contacts nadomesti nastavljeni seznam; --modules '' izbere samo obvezna base in web. Oba vira uporabljata isto preverjanje in odstranjevanje podvojitev. Manjkajoče ali napačne privzete vrednosti ustavijo ukaz pred nalaganjem Odoo, razen če jih --modules izrecno nadomesti. --help privzetih vrednosti ne bere. Ločeni --config še vedno izbira izvajalno konfiguracijo Odoo, ne te datoteke privzetih vrednosti.

Za ustvarjanje odstranite --dry-run. Brez --admin-password-file se ustvari kriptografsko naključno geslo (32 naključnih bajtov, kodiranih kot besedilo, varno za URL), shranjeno v /srv/pmiverse/_pmiprivate/<database>_init_pass, na primer /srv/pmiverse/_pmiprivate/example_new_init_pass. Ime vsebuje dobesedno pripono _init_pass, ne gesla. Interaktivnega poziva ni.

Manjkajoča mapa se ustvari z dovoljenji 0700, datoteka z 0600. Obstoječa mapa mora pripadati izvajalnemu storitvenemu računu in ne sme dovoljevati dostopa skupini ali drugim; skripta dovoljenj ne spreminja. Račun jo mora smeti ustvariti ali jo mora ločeno pripraviti skrbnik. Simbolne povezave map in obstoječe izhodne datoteke, tudi povezave, so zavrnjene. Geslo se shrani pred ustvarjanjem baze; neuspešno shranjevanje ustavi ustvarjanje. Izpiše se samo pot, nikoli geslo.

Za lastno geslo uporabite --admin-password-file /secure/path/admin-password: navadno datoteko UTF-8 v lasti izvajalnega računa, dostopno samo njemu (običajno 0600). Simbolne povezave so zavrnjene, dovoljena je ena končna nova vrstica. Prebere se podana datoteka brez ustvarjanja privzete datoteke gesla. Gesla nikoli niso argumenti ukazne vrstice.

Shranjeno geslo pridobite kot njegov lastnik in ga uporabniku predajte po varnem kanalu. Po predaji datoteko upravljajte ali odstranite ločeno. Ob poznejših napakah priprave se ustvarjene datoteke ohranijo; morda ne ustrezajo uporabnemu računu v nepopolni bazi. Pred ponovitvijo jih preglejte; ponovitev jih ne prepiše. Za namerno ponovno uporabo shranjenega gesla po odpravi težave podajte njegovo pot z --admin-password-file.

--admin-login ima privzeto vrednost admin, --admin-name pa Administrator. Prijava v obliki e-poštnega naslova nastavi tudi skrbnikovo e-pošto. base.user_admin se posodobi prek ORM, pri čemer se ohranijo običajne pravice Odoo in zgoščevanje gesel. Glavno geslo upravljavca baz (admin_passwd) se ne spremeni.

--company-name je neobvezen. --country pred namestitvijo modulov nastavi državo podjetja in privzeto valuto, kar vpliva na davčno lokalizacijo. Če ni podan, ostanejo začetne nastavitve podjetja Odoo. Začetni jezik je ameriška angleščina; dodatne jezike in uporabniške nastavitve določite v vmesniku. Pristojnost, davki, odhodna pošta ali ponudnik plačil se ne ugibajo.

Predaja in obravnava napak

Uspeh pomeni, da so zahtevani moduli nameščeni in aktivni skrbnik lahko dostopa do nastavitev. Izvajalna storitev mora uporabljati isto izvorno kodo, poti dodatkov, povezavo baze in podatkovno mapo ter dovoliti novo ime prek db_name/dbfilter. Zaženite ali omogočite storitev in na običajnem naslovu odprite /web/login?db=example_new. Dokončajte podatke podjetja in pravne podatke, lokalizacijo, davke, uporabnike in pravice, nastavitve aplikacij ter integracije. Pred knjiženjem preglejte začetno valuto in davčno lokalizacijo.

Obstoječe baze ali poti filestore, tudi viseče simbolne povezave, so zavrnjene. Načina za prepis, nadaljevanje, brisanje ali samodejni povratek ni. Napaka vrne neničelno kodo in ohrani delno ustvarjeno bazo ter filestore za pregled; ostati morata nedostopna. Ponovitev zavrne ohranjeni cilj. Po pregledu in ločeni odobritvi ga počistite ali izberite novo ime.

Ustvarjanje uporablja rutino PostgreSQL iz Odoo in template0; sočasno ustvarjanje zavrne PostgreSQL in nastali cilj se nikoli ne prevzame.

Celoten vmesnik izpiše --help. Skupno dopolnjevanje Bash vključuje možnosti in datotečne poti, vendar za novo ciljno bazo ne predlaga obstoječih imen. Urejanje repozitorija ne namesti bližnjice ali storitve in ne ustvari baze.

Vodnik izvedbe opisuje skupne pomočnike, prednost konfiguracije, faze inicializacije in meje napak. Skupna pomočnika za gesla in nalaganje izvajalnega okolja brez storitve uporablja tudi obnovitev skrbniškega dostopa; njune spremembe morajo ohraniti oba postopka.