Neytrallangan baza ishchi bazaning sinov nusxasi boʻlib, unda xavfli funksiyalar oʻchirilgan. Rejalashtirilgan vazifalar, chiquvchi xatlar, bank sinxronizatsiyasi va toʻlov ulagichlari ishlamaydi, ekranda esa qizil lavha chiqadi. Har qanday sinov nusxasi shunday boʻladi: Odoo.sh dagi staging ham, bazalar menejeridagi nusxa ham. Lekin qoida har modul tarkibidagi tayyor skriptga tayanadi, shuning uchun maxsus modullar va uchinchi tomon ulagichlari avtomatik himoyalanmaydi.
Aytaylik, ishchi bazada har dushanba mijozlarga qarz eslatmasi yuboradigan rejalashtirilgan vazifa bor. Siz yangi sozlamani sinash uchun bazaning nusxasini olasiz, nusxada ham xuddi shu vazifa yoqilgan va pochta serveri ham ulangan. Dushanba kuni haqiqiy mijozlar eslatmani ikki marta oladi. Odoo bu xavfni oldindan koʻrgan va buning uchun neytrallangan baza tushunchasini kiritgan.
Hujjat uni shunday taʼriflaydi: ishchi boʻlmagan baza, unda bir necha parametr oʻchirilgan, shuning uchun sinov davomida ishchi maʼlumotga taʼsir qiladigan avtomatik amallar, masalan mijozlarga xat yuborish, ishga tushmaydi. Ishchi muhitga ulanish olib tashlanadi va baza sinov muhitiga aylanadi.
Nima oʻchiriladi
Hujjat toʻliq boʻlmagan roʻyxat beradi va buni ochiq aytadi. Roʻyxatdagi narsalar quyidagilar:
- Barcha rejalashtirilgan vazifalar, masalan obunalar boʻyicha avtomatik hisob-faktura yoki ommaviy xat.
- Chiquvchi xatlar.
- Bank sinxronizatsiyasi.
- Toʻlov provayderlari.
- Yetkazib berish usullari.
- Ilova ichidagi xaridlar uchun IAP tokenlari.
- Saytning koʻrinishi, yaʼni qidiruv tizimlari saytni indekslamasligi uchun.
Birinchi band eng xavfli, chunki odam hech narsa bosmaydi: vazifa vaqti kelganda oʻzi ishga tushadi. Neytrallangan bazada ekranning yuqorisida qizil lavha turadi va odam ishchi bazada ishlamayotganini darrov koʻradi. Bu kichik tafsilot katta xatoning oldini oladi, chunki sinov nusxasi bilan ishchi baza brauzerda bir xil koʻrinadi va ularni faqat shu lavha farqlaydi.
Hujjatdagi roʻyxat umumiy, aniq nima oʻzgarishini esa manba kodning oʻzidan koʻrish mumkin. Quyidagi jadvalda Odoo 20.0 kodidagi tayyor qoidalardan tanlama bor.
| Soha | Neytrallashda nima boʻladi |
|---|---|
| Chiquvchi pochta | Mavjud serverlar oʻchiriladi, ulardagi login va parol olib tashlanadi, oʻrniga ishlamaydigan soxta server qoʻyiladi |
| Rejalashtirilgan vazifalar | Avtomatik tozalash vazifasidan tashqari hammasi oʻchiriladi |
| Webhooklar | Boshqa tizimga xabar yuboruvchi manzillar soxta qiymatga almashtiriladi |
| Pochta shablonlari va kiruvchi pochta | Shablonlar serverdan ajratiladi, kiruvchi pochtani olish oʻchiriladi, bildirishnoma kalitlari oʻchiriladi |
| Sayt | Domen tozalanadi, tarqatish tarmogʻi oʻchadi, qidiruv robotlariga taqiq qoʻyiladi |
| Toʻlov | Provayderlar ishchi rejimdan olib tashlanadi |
| Yetkazib berish | Tashqi provayderlar oʻchiriladi, ishchi muhit yopiladi |
| Kalitlar va tokenlar | Taqvim sinxronizatsiyasi, SMS provayderi tokeni va reCAPTCHA kalitlari tozalanadi yoki soxta qiymatga almashtiriladi |
Jadvalda koʻrinadiki, qoidalar hujjatdagi roʻyxatdan kengroq. Masalan, pochta serveridagi parol ham tozalanadi, buning sababi kodda izoh bilan yozilgan: arxivga olingan server ham har bir zaxirada ishlaydigan parolni olib yuradi. Yaʼni neytrallash faqat ishga tushishni emas, nusxa orqali maxfiy maʼlumot tarqalishini ham kamaytiradi.
Qayerda hosil boʻladi: besh joy
Hujjatning asosiy gapi sodda: har qanday sinov bazasi neytrallangan boʻladi. Bunga zaxiradan tiklangan test baza, nusxa, Odoo.sh dagi staging va development bazalari hamda yangilash uchun olingan test baza kiradi. Amalda esa ishlash usuli har joyda biroz farq qiladi.
| Qayerda | Qanday ishlaydi | Eslatma |
|---|---|---|
| Oʻz serveri, bazalar menejeri | Nusxa olishda neytrallash belgisi tanlanadi | Belgi tanlanmasa, nusxa neytrallanmaydi |
| Oʻz serveri, buyruq qatori | Nusxa olishda va tiklashda bayroq bor, alohida buyruq ham bor | Alohida buyruq oʻzgarishni qoʻllamasdan, faqat matnini chiqarib berishi mumkin |
| Odoo Online | Nusxa olishda «sinov uchun» belgisi sukut boʻyicha yoqiq | Nusxa 15 kundan keyin tugaydi, bitta bazadan beshtagacha nusxa |
| Odoo.sh, staging | Ishchi bazadan neytrallangan nusxa avtomatik yaratiladi | Baza bir oydan keyin avtomatik oʻchadi |
| Yangilash test bazasi | Test baza neytrallanadi | Bank sinxronizatsiyasini sinash uchun bank sandbox kaliti kerak |
Oʻz serverida odatiy ish aynan shu: hujjat ishchi bazani neytrallangan test bazaga nusxalashni koʻrsatadi. Buyruq qatorida yana bir qulaylik bor. Neytrallash buyrugʻi oʻzgarishlarni qoʻllamasdan, faqat ularning SQL matnini chiqarib berishi mumkin. Bu maxsus modul qoidalarini tekshirishda foydali: avval nima oʻzgarishini koʻrasiz, keyin nusxada qoʻllaysiz.
Online da muddat hisobi yodda tursin. Nusxa 15 kundan keyin tugaydi, shuning uchun sinov uch hafta, yaʼni 21 kun davom etsa, bitta nusxa yetmaydi va uni ikkinchi marta olish kerak boʻladi. Bu oddiy hisob, tahririyat misoli.
Yangilash uchun olingan test baza ham neytrallanadi, hujjat buni toʻrt band bilan sanaydi. Rejalashtirilgan vazifalar oʻchiriladi, chiquvchi pochta serverlari arxivlanib ularning oʻrniga soxta server qoʻyiladi, toʻlov provayderlari va yetkazib berish usullari sinov muhitiga qaytariladi, bank sinxronizatsiyasi oʻchiriladi. Demak, yangi versiyani sinayotgan odam bexavotir ishlaydi, lekin xuddi shu cheklovlar uni bank va toʻlovni toʻliq sinashdan ham toʻsadi.
Odoo.sh dagi staging nusxasi qoʻshimcha tushuntirishga muhtoj. Rejalashtirilgan vazifalar u yerda ham oʻchiq, ularni sinash uchun qoʻlda ishga tushiriladi yoki qayta yoqiladi, baza ishlatilmasa esa platforma ularni yanada kamroq ishga tushiradi. Chiquvchi xatlar yoʻqolmaydi, ular maxsus pochta ushlagichga tushadi va loyiha ichida ularni koʻrish uchun alohida oyna bor. Toʻlov va yetkazib berish ulagichlari sinov rejimiga oʻtadi, neytrallash jurnali esa faqat staging uchun alohida yuritiladi.
Development bazasi staging dan farq qiladi. U ishchi bazadan nusxa olmaydi, demo maʼlumot bilan noldan yaratiladi, shuning uchun ishchi maʼlumot u yerda umuman yoʻq. Xatlar bu yerda ham ushlagichga tushadi, rejalashtirilgan vazifalar esa baza ishlatilmaguncha ishga tushmaydi. Baza taxminan uch kun yashaydi va avtomatik zaxiraga olinmaydi. Demak, ishchi maʼlumotga yaqin sinov kerak boʻlsa, development emas, staging tanlanadi.
Qanday ishlaydi: har modul oʻz qoidasini olib keladi
Mexanizm kodda oddiy yozilgan. Oʻrnatilgan modullar bogʻliqlik tartibida saralanadi, yaʼni har modul oʻzi tayanadigan modullardan keyin turadi. Keyin har bir modul uchun uning tarkibida neytrallash fayli bor-yoʻqligi tekshiriladi, bor boʻlsa ichidagi buyruq ishga tushiriladi va tugagach jurnalga xabar yoziladi. Bu yerdan yana bir natija kelib chiqadi: neytrallash qamrovi bazada oʻrnatilgan modullar toʻplamiga bogʻliq. Modul oʻrnatilmagan boʻlsa, uning qoidasi ishga tushmaydi, oʻrnatilgan boʻlsa tushadi, shuning uchun ikki xil bazaning neytrallash natijasi bir xil boʻlmaydi.
Pochta qoidasida bitta nozik joy bor. Mavjud serverlarni oʻchirishning oʻzi yetmaydi, chunki Odoo buyruq qatoridagi sozlamadan ham zaxira pochta serverini olishi mumkin. Shuning uchun qoida soxta, ishlamaydigan server ham qoʻshadi, kodda shunday izoh bor. Qoida baza neytrallangani haqida belgi ham yozadi.
Bundan muhim xulosa chiqadi, uni tahririyat kodni oʻqib chiqardi. Neytrallash faqat oʻz qoidasini yozgan modullarga taʼsir qiladi. Standart modullarda bunday qoidalar koʻp, chunki Odoo jamoasi ularni yozib chiqqan. Lekin maxsus modul yoki uchinchi tomon ulagichi, masalan SMS-provayder, bank bilan ulanish yoki boshqa tizimga maʼlumot yuboruvchi kod, oʻz qoidasini yozmagan boʻlsa, nusxada ham oʻz joyida ishlayveradi.
Misol uchun, maxsus modul har tunda buyurtmalarni tashqi omborga yuboradi deylik. Nusxa olgandan keyin ham u shu ishni davom ettirsa, sinov buyurtmalari haqiqiy omborga tushadi, chunki standart neytrallash buni toʻxtatmaydi. Yechim bitta: maxsus modulga ham neytrallash qoidasi qoʻshiladi yoki nusxadagi rejalashtirilgan vazifa qoʻlda oʻchiriladi.
Neytrallash nimani qilmaydi
Hujjat va kod ikki chegarani ochiq koʻrsatadi. Birinchisi, roʻyxat toʻliq emas. Ikkinchisi, neytrallash maʼlumotni yashirmaydi: biz oʻqigan qoidalar orasida mijoz nomini, telefonini yoki emailini almashtiradigan yoki foydalanuvchi parolini oʻzgartiradigan qoida yoʻq. Demak, nusxani ishlatadigan har bir odam ishchi maʼlumotni koʻradi va oʻz ishchi paroli bilan kiradi, shuning uchun sinov nusxasi ishchi bazaga teng darajada himoyalanishi kerak.
Yana ikki narsa qoʻlda qoladi. Bank sinxronizatsiyasi oʻchirilgani uchun uni sinash kerak boʻlsa, bank provayderidan sandbox kaliti olinadi. Toʻlov provayderlari esa sinov rejimiga oʻtadi, ammo sinov tranzaksiyasi uchun provayderning sinov kaliti baribir kerak. Bu ikkinchi gap tahririyat xulosasi.
Uchta tipik xato
Birinchi xato: nusxa neytrallanmagan. Oʻz serverida nusxa olishda belgi tanlanmasa, neytrallash ishlamaydi. Bunday nusxada oʻchirish amallari bajarilmagan boʻladi, shuning uchun u ishchi bazadan deyarli farq qilmaydi. Qizil lavha yoʻqligi xavf belgisi.
Ikkinchi xato: neytrallangan bazada bitta sozlamani qoʻlda yoqib qoʻyish, masalan sinov paytida pochta serverini haqiqiy sozlamaga qaytarish yoki rejalashtirilgan vazifani yoqib, ishlashiga ishonish. Hujjatning oʻzi vazifani qoʻlda ishga tushirishni yoki qayta yoqishni tavsiya qiladi, demak qayta yoqish ruxsat etilgan, lekin shu vazifa nimani yuborishi oldindan tekshirilishi kerak.
Uchinchi xato: staging dagi sozlamani ishchi bazada takrorlashni unutish. Odoo.sh hujjati ogohlantiradi: staging da sozlama yoki koʻrinishni oʻzgartirsangiz, uni qadam-baqadam yozib qoʻying yoki toʻgʻridan-toʻgʻri modul fayllarida yozing, aks holda oʻzgarish ishchi bazaga oʻtmaydi. Staging esa bir oydan keyin oʻchadi.
Sinash tartibi
Quyidagi besh qadam hujjat va kod mantiqidan chiqarilgan tahririyat tavsiyasi:
- Nusxa ochilgach, qizil lavhani tekshiring. Lavha yoʻq boʻlsa, nusxaga ishonmang.
- Chiquvchi xat ketmayotganini tekshiring. Odoo.sh da xatlar ushlagichda koʻrinishi kerak.
- Rejalashtirilgan vazifalarni qoʻlda ishga tushirib, natijani koʻring.
- Maxsus modullar va tashqi tizimlar bilan ulanishlar roʻyxatini tuzing, har birining nusxada ishlash-ishlamasligini aniqlang.
- Sinov tugagach, nusxani oʻchiring. Muddati kelganda u oʻzi ham oʻchadi.
Amalda nima qilish mumkin
Qisqa tavsiyalar, ular ham tahririyat fikri:
- Sinash uchun hamisha ishchi bazaning neytrallangan nusxasidan foydalaning, zaxirani ishchi bazaning oʻzida tiklamang.
- Maxsus modulga neytrallash qoidasini qoʻshishni dasturchiga topshiriq sifatida yozing.
- Nusxaga kirish huquqini ishchi baza bilan bir xil darajada cheklang.
- Sinov muddatini nusxaning yashash muddatiga qarab rejalashtiring.
- Nusxadagi foydalanuvchilar roʻyxatini koʻrib chiqing va sinovga kerak boʻlmagan odamlarning kirishini yoping.
Neytrallash sinov nusxasini ishchi tizimdan ajratadi, lekin faqat Odoo oʻzi biladigan joylarda. Maxsus modul va tashqi ulanishlar qoʻlda tekshiriladi, mijoz maʼlumoti esa nusxada ham ochiq turadi. Keyingi savol shu: sizning bazangizdan qaysi tashqi tizimlarga maʼlumot ketadi?
Asosiy atamalar
- Neytrallangan baza
- Ishchi bazaning sinov nusxasi, unda xat, toʻlov va avtomatik vazifalar kabi xavfli funksiyalar oʻchirilgan.
- Ishchi baza
- Kompaniya har kuni foydalanadigan asosiy baza.
- Rejalashtirilgan vazifa
- Odoo oʻzi belgilangan vaqtda bajaradigan ish, masalan har dushanba eslatma yuborish.
- Staging
- Odoo.sh dagi ishchi bazaning neytrallangan nusxasi. Unda yangi oʻzgarishlar sinab koʻriladi.
- Pochta ushlagich
- Chiquvchi xatlarni mijozga yubormasdan toʻplab qoʻyadigan joy. Xatlar faqat koʻrish uchun.
- Bazalar menejeri
- Odoo ichidagi sahifa: u bazalarni yaratadi, nusxalaydi va oʻchiradi.
- IAP
- Ilova ichidagi xaridlar. Odoo pullik xizmatlar, masalan SMS yuborish uchun token ishlatadi.
- Sandbox
- Provayder bergan sinov muhiti. Unda haqiqiy pul harakat qilmaydi.
- Token
- Tashqi xizmatga kirish uchun beriladigan maxfiy kalit.
- Webhook
- Odoo da voqea sodir boʻlganda boshqa tizimga avtomatik yuboriladigan xabar.
Manbalar
Maqola quyidagi manbalarga tayanadi:
- Odoo 20.0 hujjatlari, Database management: Neutralized database (taʼrif, oʻchiriladigan funksiyalar, qizil lavha). https://www.odoo.com/documentation/20.0/administration/neutralized_database.html (koʻrilgan: 23-oktabr, 2026)
- Odoo 20.0 hujjatlari, Database management: On-premise (Duplicate a database, neytrallash belgisi). https://www.odoo.com/documentation/20.0/administration/on_premise.html (koʻrilgan: 23-oktabr, 2026)
- Odoo 20.0 hujjatlari, Odoo.sh: Branches (staging va development bazalari, pochta ushlagich). https://www.odoo.com/documentation/20.0/administration/odoo_sh/getting_started/branches.html (koʻrilgan: 23-oktabr, 2026)
- Odoo 20.0 hujjatlari, Database management: Odoo Online (nusxa olish, sinov uchun belgisi, muddat va soni). https://www.odoo.com/documentation/20.0/administration/odoo_online.html (koʻrilgan: 23-oktabr, 2026)
- Odoo 20.0 hujjatlari, Database management: Upgrade (test baza neytrallanishi, bank sandbox). https://www.odoo.com/documentation/20.0/administration/upgrade.html (koʻrilgan: 23-oktabr, 2026)
- Odoo 20.0 hujjatlari, Developer: Command-line interface (db duplicate, db restore, neutralize buyruqlari). https://www.odoo.com/documentation/20.0/developer/reference/cli.html (koʻrilgan: 23-oktabr, 2026)
- Odoo S.A., odoo/odoo, 20.0 branchi, odoo/modules/neutralize.py (modul boʻyicha neytrallash mexanizmi), GitHub. https://github.com/odoo/odoo/blob/20.0/odoo/modules/neutralize.py (koʻrilgan: 23-oktabr, 2026)
- Odoo S.A., odoo/odoo, 20.0 branchi, modullarning data/neutralize.sql fayllari: base, mail, web, website, payment, delivery, iap, auth_oauth, certificate, google_calendar, microsoft_calendar, sms_twilio, google_recaptcha, GitHub. https://github.com/odoo/odoo/tree/20.0/odoo/addons/base/data (koʻrilgan: 23-oktabr, 2026)