Migrating from Odoo 17/18 to Odoo 19: Complete Guide

Step-by-step guide to migrating from Odoo 17 or 18 to Odoo 19. Covers planning, data migration, custom module updates, testing, and zero-downtime cutover.

E
ECOSIRE Research and Development Team
|19 مارچ، 202612 منٹ پڑھیں2.7k الفاظ|

Odoo 17/18 سے Odoo 19 میں منتقلی: مکمل گائیڈ

Odoo 19 انٹرپرائز میں اپ گریڈ کرنے سے کارکردگی، صارف کے تجربے، اور AI کی مدد سے چلنے والی خصوصیات میں نمایاں بہتری آتی ہے۔ لیکن ERP لائف سائیکل میں ہجرت سب سے زیادہ خطرے والی کارروائیوں میں سے ایک ہے — ڈیٹا کا نقصان، ٹوٹے ہوئے کسٹم ماڈیولز، اور بڑھا ہوا ڈاؤن ٹائم وہ تمام حقیقی خطرات ہیں جن کے لیے محتاط منصوبہ بندی اور عمل درآمد کی ضرورت ہوتی ہے۔

یہ گائیڈ Odoo 17 یا Odoo 18 سے Odoo 19 Enterprise پر جانے والی تنظیموں کے لیے ایک عملی، مرحلہ وار منتقلی کا طریقہ کار فراہم کرتا ہے۔ اس میں ابتدائی تشخیص اور ڈیٹا میپنگ سے لے کر حسب ضرورت ماڈیول اپ ڈیٹس، جانچ کے طریقہ کار، اور گو لائیو کٹ اوور پلان تک سب کچھ شامل ہے۔

اہم ٹیک ویز

  • Odoo 19 منتقلی کے لیے ایک وقت میں ایک بڑے ورژن کو اپ گریڈ کرنے کی ضرورت ہوتی ہے (17→18→19 یا 17→19 براہ راست OpenUpgrade کے ساتھ)
  • Odoo 19 کی API تبدیلیوں کے خلاف حسب ضرورت ماڈیول مطابقت کی تصدیق ہونی چاہیے۔
  • ڈیٹا کی منتقلی Odoo کے آفیشل اپ گریڈ پلیٹ فارم یا OpenUpgrade کے ذریعے ہوتی ہے۔
  • پروڈکشن کٹ اوور سے پہلے ایک متوازی جانچ کا ماحول لازمی ہے۔
  • پیچیدگی کے لحاظ سے 3-8 ہفتوں کی کل ہجرت کی ٹائم لائن کا منصوبہ بنائیں
  • مفاہمت کے مسائل سے بچنے کے لیے کٹ اوور سے پہلے مالی ادوار کو بند کر دینا چاہیے۔
  • تمام تھرڈ پارٹی انضمام کو منتقلی کے بعد دوبارہ تصدیق کی ضرورت ہے۔
  • لائیو سے پہلے رول بیک پلان کو دستاویزی اور جانچنا ضروری ہے۔

ہجرت کی منصوبہ بندی: تشخیص کا مرحلہ

ایک واحد ہجرت کا اسکرپٹ لکھنے سے پہلے، مکمل تشخیص میں وقت لگائیں۔ نقل مکانی اکثر ناکام منصوبہ بندی کی وجہ سے ہوتی ہے نہ کہ تکنیکی پیچیدگی کی وجہ سے۔

مرحلہ 1: اپنے موجودہ ماحول کی فہرست بنائیں

اپنی موجودہ Odoo تنصیب کے ہر جزو کو دستاویز کریں:

Current Environment Inventory:
- Odoo version: 17.0.x or 18.0.x
- Edition: Community or Enterprise
- Database size: X GB, Y records in sale.order, Z in account.move
- Installed modules: [list all modules]
- Custom modules: [list with developer contact]
- Third-party connectors: [Amazon, Shopify, etc.]
- Active integrations: [API, webhooks, cron jobs]
- Customized reports: [list]
- Custom fields (Studio or code): [list]
- Server specs: RAM, CPU, disk
- PostgreSQL version: (minimum 15 required for Odoo 19)

مرحلہ 2: حسب ضرورت ماڈیولز کی درجہ بندی کریں

ہر حسب ضرورت ماڈیول کے لیے، تعین کریں:

درجہ بندیتعریفمائیگریشن ایکشن
معیاری استعمالاوڈو مارکیٹ پلیس سے ماڈیول میں کوئی تبدیلی نہیں کی گئیOdoo 19 کے لیے دوبارہ ڈاؤن لوڈ کریں۔
ہلکے سے ترمیم شدہمعمولی فیلڈ اضافہ، تبدیلیاں دیکھیںاپ ڈیٹ اور ٹیسٹ
بھاری اپنی مرضی کے مطابقکاروباری اہم ازگر منطقمکمل ڈویلپر کا جائزہ
فرسودہOdoo کور میں اب فعالیتہٹائیں اور دوبارہ ترتیب دیں
غیر مطابقت پذیرہٹائے گئے Odoo 19 APIs پر منحصر ہےدوبارہ لکھنا ضروری ہے

مرحلہ 3: Odoo 19 بریکنگ تبدیلیوں کی شناخت کریں

Odoo 17/18 اور Odoo 19 کے درمیان کلیدی تبدیلیاں جو حسب ضرورت ماڈیولز کو متاثر کرتی ہیں:

  • OWL 3.x: فرنٹ اینڈ اجزاء کو OWL 2.x پیٹرن سے منتقل کیا جانا چاہیے
  • Python 3.12: کچھ Python 3.10/3.11 نحو کو ایڈجسٹمنٹ کی ضرورت ہو سکتی ہے
  • PostgreSQL 15+: مطلوبہ کم از کم ورژن؛ کچھ استفسار کے نمونے بدل جاتے ہیں۔
  • API فرسودگی: کئی _legacy طریقے ہٹا دیے گئے؛ _multi_create_multi کے لئے چیک کریں
  • رپورٹ انجن: کچھ QWeb رپورٹ متغیر کا نام تبدیل کر دیا گیا ہے۔
  • اکاؤنٹ موو ری فیکٹرنگ: account.move لائن کے ڈھانچے میں تبدیلیاں اکاؤنٹنگ حسب ضرورت کو متاثر کرتی ہیں۔

اپنے ہجرت کے راستے کا انتخاب کرنا

راستہ 1: اوڈو آفیشل اپ گریڈ سروس

Odoo SA upgrade.odoo.com پر ایک خودکار اپ گریڈ سروس فراہم کرتا ہے۔ آپ اپنا ڈیٹا بیس جمع کراتے ہیں، وہ Odoo SA کی طرف سے تیار کردہ اور برقرار رکھنے والے مائیگریشن اسکرپٹس چلاتے ہیں، اور آپ کو ایک اپ گریڈ شدہ ڈیٹا بیس ملتا ہے۔

فوائد:

  • Odoo SA کے ذریعہ سرکاری مدد اور جانچ
  • ڈیٹا بیس اسکیما کی تبدیلیوں کو خود بخود ہینڈل کرتا ہے۔
  • کم سے کم تخصیصات کے ساتھ معیاری Odoo کے لیے موزوں

نقصانات:

  • اپنی مرضی کے ماڈیولز کو ہینڈل نہیں کرتا ہے۔
  • Odoo کے سرورز پر پیداواری ڈیٹا جمع کرنے کی ضرورت ہے۔
  • نقل مکانی کے عمل پر محدود کنٹرول
  • حسب ضرورت ماڈیول منتقلی آپ کی ذمہ داری ہے۔

پاتھ 2: اوپن اپ گریڈ (کمیونٹی ٹول)

OpenUpgrade ایک اوپن سورس پروجیکٹ ہے جو کمیونٹی اور انٹرپرائز کے لیے مائیگریشن اسکرپٹ فراہم کرتا ہے۔

# Clone OpenUpgrade for Odoo 19
git clone https://github.com/OCA/OpenUpgrade.git -b 19.0

# Install upgrade dependencies
pip install openupgradelib

# Run migration
python odoo-bin --config=upgrade.conf \
    --update=all \
    --load=base,web,openupgrade_framework

راستہ 3: ڈیٹا امپورٹ کے ساتھ تازہ انسٹال

بہت زیادہ حسب ضرورت مثالوں یا بہت پرانے ورژن کے لیے:

  1. ایک تازہ Odoo 19 انٹرپرائز مثال قائم کریں۔
  2. تمام ماڈیولز اور ترتیبات کو دوبارہ ترتیب دیں۔
  3. پرانے سسٹم سے اہم ڈیٹا برآمد کریں۔
  4. Odoo کے درآمدی ٹول یا اپنی مرضی کے مطابق منتقلی کے اسکرپٹ کے ذریعے درآمد کریں۔
  5. اکاؤنٹنگ کے لیے دستی طور پر اوپننگ بیلنس دوبارہ درج کریں۔

یہ راستہ سست ہے لیکن صاف ترین نقطہ آغاز فراہم کرتا ہے۔

زیادہ تر Odoo 17/18 → 19 ہجرت کے لیے تجویز کردہ: راستہ 1 یا 2 متوازی کسٹم ماڈیول کی دوبارہ ترقی کی کوششوں کے ساتھ مل کر۔


ہجرت سے پہلے کی تیاری (ہفتے 1-2)

ڈیٹا بیس کی تیاری:

-- Run on source database before export
-- Identify orphaned records
SELECT id, name FROM res_partner WHERE active = FALSE AND id NOT IN (
    SELECT partner_id FROM sale_order
    UNION SELECT partner_id FROM account_move
    UNION SELECT partner_id FROM stock_picking
);

-- Archive old draft records (reduces migration time)
UPDATE sale_order SET active = FALSE
WHERE state = 'draft' AND date_order < NOW() - INTERVAL '2 years';

-- Verify accounting reconciliation
SELECT COUNT(*) FROM account_move_line
WHERE reconciled = FALSE AND debit != credit;

مالیاتی ادوار بند کریں:

ہجرت سے پہلے:

  1. موجودہ مہینے سے پہلے کے تمام ادوار کو Odoo اکاؤنٹنگ میں مقفل کریں۔
  2. عمر رسیدہ اور قابل ادائیگی رپورٹس چلائیں اور اختلافات کو ختم کریں۔
  3. منتقلی کی تاریخ کے ذریعے تمام بینک سٹیٹمنٹس کو ملا دیں۔
  4. تمام مسودہ رسیدیں پوسٹ کریں جنہیں تاریخی ڈیٹا میں شامل کیا جانا چاہیے۔

** ہر چیز کا بیک اپ لیں:**

# PostgreSQL backup
pg_dump -h localhost -p 5433 -U odoo_user -Fc odoo_production > \
    odoo_prod_backup_$(date +%Y%m%d_%H%M%S).dump

# Filestore backup (attachments, images)
tar -czf odoo_filestore_$(date +%Y%m%d).tar.gz \
    /var/lib/odoo/.local/share/Odoo/filestore/

# Configuration backup
cp /etc/odoo/odoo.conf odoo_conf_backup_$(date +%Y%m%d).conf

کسٹم ماڈیول کوڈ کا جائزہ:

ہر حسب ضرورت ماڈیول کے لیے، مطابقت کی جانچ چلائیں:

# Check for deprecated patterns
grep -r "execute_kw" custom_modules/   # Still valid in v19
grep -r "browse\(\[" custom_modules/  # Should be browse(ids) not browse([ids])
grep -r "_multi" custom_modules/      # Check for renamed methods
grep -r "account\.move\.line\." custom_modules/  # Account refactoring affected
grep -r "@api\.one" custom_modules/   # Removed in v14, ensure not present
grep -r "@api\.multi" custom_modules/ # Removed in v14, ensure not present

ہجرت کے ماحول کو ترتیب دینا (ہفتہ 2-3)

انفراسٹرکچر سیٹ اپ:

# Install Odoo 19 Enterprise on migration server
# Requirements: Ubuntu 22.04/24.04, PostgreSQL 15+, Python 3.12

# Install PostgreSQL 15+
sudo apt install postgresql-15 postgresql-contrib

# Install Python 3.12 and dependencies
sudo apt install python3.12 python3.12-dev python3.12-venv \
    libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev \
    libtiff5-dev libjpeg8-dev libopenjp2-7-dev zlib1g-dev \
    libfreetype6-dev liblcms2-dev libwebp-dev libharfbuzz-dev \
    libfribidi-dev libxcb1-dev

# Clone Odoo 19 Enterprise
git clone https://github.com/odoo/odoo.git -b 19.0 /opt/odoo19
git clone https://github.com/odoo/enterprise.git -b 19.0 /opt/odoo19-enterprise

# Install Python dependencies
pip3.12 install -r /opt/odoo19/requirements.txt

مائیگریشن سرور پر سورس ڈیٹا بیس کو بحال کریں:

# Create target database
createdb -h localhost -U postgres odoo_migration_test

# Restore backup
pg_restore -h localhost -U postgres -d odoo_migration_test \
    odoo_prod_backup_YYYYMMDD.dump

# Run Odoo upgrade
python3 /opt/odoo19/odoo-bin \
    -d odoo_migration_test \
    -u all \
    --without-demo=all \
    --stop-after-init

حسب ضرورت ماڈیول کی منتقلی (ہفتے 3-5)

یہ مرحلہ سب سے زیادہ وقت والا ہے۔ ہر اپنی مرضی کے ماڈیول کی ضرورت ہوتی ہے:

1۔ مینی فیسٹ ورژن کو اپ ڈیٹ کریں:

# Change from:
'version': '17.0.1.0.0',
# To:
'version': '19.0.1.0.0',

2۔ ازگر مطابقت کو اپ ڈیٹ کریں:

# Old pattern (deprecated):
@api.multi
def my_method(self):
    for record in self:
        pass

# New pattern:
def my_method(self):
    for record in self:
        pass

3۔ منظر نحو کو اپ ڈیٹ کریں:

<!-- Old (v16 and earlier): -->
<field name="state" attrs="{'invisible': [('active', '=', False)]}"/>

<!-- New (v17+): -->
<field name="state" invisible="not active"/>

4۔ OWL اجزاء کو اپ ڈیٹ کریں (اگر کوئی فرنٹ اینڈ ویجٹ):

OWL 3.x ری ایکٹیویٹی تبدیلیاں متعارف کراتا ہے۔ اگر آپ کے ماڈیول حسب ضرورت جاوا اسکرپٹ ویجٹ استعمال کرتے ہیں:

// Old OWL 2.x:
class MyWidget extends Component {
    static template = 'MyModule.MyWidget';
    willStart() { ... }
}

// New OWL 3.x:
class MyWidget extends Component {
    static template = 'MyModule.MyWidget';
    setup() {
        onWillStart(async () => { ... });
    }
}

5۔ ہر ماڈیول کو آزادانہ طور پر جانچیں:

# Install and test each custom module
python3 odoo-bin -d test_db -i my_custom_module --stop-after-init
python3 odoo-bin -d test_db --test-enable -u my_custom_module

ڈیٹا کی توثیق اور جانچ (ہفتے 5-6)

مالیاتی ڈیٹا کی توثیق:

-- Verify balance sheet balances (assets = liabilities + equity)
SELECT
    SUM(CASE WHEN account_type LIKE 'asset%' THEN balance ELSE 0 END) as assets,
    SUM(CASE WHEN account_type LIKE 'liability%' THEN balance ELSE 0 END) as liabilities,
    SUM(CASE WHEN account_type = 'equity' THEN balance ELSE 0 END) as equity
FROM account_account aa
JOIN account_move_line aml ON aml.account_id = aa.id
JOIN account_move am ON aml.move_id = am.id
WHERE am.state = 'posted';

ریکارڈ گنتی کی توثیق:

ماخذ اور منتقل شدہ ڈیٹا بیس کے درمیان ریکارڈ شمار کا موازنہ کریں:

# Run on both source and target to compare
models_to_check = [
    'res.partner', 'product.template', 'product.product',
    'sale.order', 'purchase.order', 'account.move',
    'stock.quant', 'mrp.production', 'hr.employee'
]

for model in models_to_check:
    count = env[model].search_count([])
    print(f"{model}: {count}")

صارف کی قبولیت کی جانچ کی فہرست:

  • تمام مینوز اور نیویگیشن آئٹمز قابل رسائی
  • کلیدی ورک فلوز: سیل آرڈر → ڈیلیوری → انوائس → ادائیگی
  • اکاؤنٹنگ: جرنل اندراجات، بینک مفاہمت، رپورٹس
  • انوینٹری: رسیدیں، ترسیل، اسٹاک کی تشخیص
  • مینوفیکچرنگ: BOM، کام کے احکامات، معیار کی جانچ پڑتال (اگر قابل اطلاق ہو)
  • HR: ملازمین، چھٹی کا انتظام، تنخواہ (اگر قابل اطلاق ہو)
  • کسٹم ماڈیول کی فعالیت کی تصدیق کاروباری صارفین کے ذریعے کی گئی ہے۔
  • رپورٹیں صحیح طریقے سے تیار ہوتی ہیں اور پری ہجرت کے آؤٹ پٹ سے ملتی ہیں۔
  • بیرونی انضمام (API، ویب ہکس) اسٹیجنگ میں جانچے گئے۔

گو لائیو کٹ اوور پلان (ہفتہ 7-8)

** کٹ اوور ونڈو پلاننگ:**

کم سے کم کاروباری اثر کے ساتھ کٹ اوور ونڈو کا انتخاب کریں:

  • ویک اینڈ (زیادہ تر کاروبار کے لیے ہفتہ کی شام سے اتوار کی صبح)
  • مالی مہینے کا اختتام (اوپننگ بیلنس کے اندراج کو آسان بناتا ہے)
  • بینک کی چھٹی سے پہلے آخری کاروباری دن کے بعد (اضافی بفر ٹائم)

کٹ اوور چیک لسٹ:

T-48 hours:
[ ] Final communication to all users about downtime window
[ ] Freeze all non-critical transactions in old system
[ ] Verify migration server is ready
[ ] Complete last data validation run

T-0 (Cutover Start):
[ ] Put old system in maintenance mode (disable user access)
[ ] Create final backup of production database
[ ] Run final migration on this backup
[ ] Verify record counts and financial balances
[ ] Test all critical workflows
[ ] DNS/URL cutover to new system
[ ] Smoke test from user devices (desktop, mobile)

T+2 hours (Go-Live Verification):
[ ] All users can log in
[ ] Create test sale order, confirm, ship, invoice
[ ] Verify email sending works
[ ] Check integrations are receiving/sending data
[ ] Monitor error logs for first 30 minutes

رول بیک پلان:

اگر کٹ اوور کے دوران اہم مسائل پائے جاتے ہیں:

  1. DNS واپس پرانے سرور پر سوئچ کریں (<5 منٹ)
  2. صارفین کے لیے پرانے سسٹم کو دوبارہ فعال کریں۔
  3. پائے گئے تمام مسائل کو دستاویز کریں۔
  4. فالو اپ مائیگریشن ونڈو کو شیڈول کریں۔

اکثر پوچھے گئے سوالات

کیا میں Odoo 17 سے براہ راست Odoo 19 پر جا سکتا ہوں، یا مجھے 18 سے گزرنا ہوگا؟

Odoo کی آفیشل اپ گریڈ سروس کا استعمال کرتے ہوئے، آپ عام طور پر براہ راست 17 سے 19 تک جا سکتے ہیں۔ Odoo SA کی مائیگریشن اسکرپٹس ملٹی ورژن جمپس کو ہینڈل کرتی ہیں۔ OpenUpgrade کے ساتھ، آپ کو دستیاب مائیگریشن اسکرپٹس کے لحاظ سے 17→18→19 جانے کی ضرورت پڑسکتی ہے۔ اپنی ضرورت کے مخصوص ورژن کے لیے ہمیشہ اوپن اپ گریڈ ریپوزٹری کو چیک کریں۔

ایک عام Odoo کی منتقلی میں کتنا وقت لگتا ہے؟

ٹائم لائن حسب ضرورت کی سطح پر بہت زیادہ انحصار کرتی ہے۔ کم سے کم تخصیصات کے ساتھ معیاری Odoo مثال: 2-3 ہفتے۔ معمولی طور پر اپنی مرضی کے مطابق (5-10 کسٹم ماڈیول): 4-6 ہفتے۔ پیچیدہ انضمام کے ساتھ بہت زیادہ اپنی مرضی کے مطابق: 8-16 ہفتے۔ خود منتقلی (ڈیٹا بیس اپ گریڈ) میں گھنٹے لگتے ہیں۔ وقت جانچ، ماڈیول اپ ڈیٹس، اور توثیق کا ہے۔

ہجرت کے دوران اسٹوڈیو کی تخصیصات کا کیا ہوتا ہے؟

اسٹوڈیو کی تخصیصات معیاری Odoo ڈیٹا (ویوز، فیلڈز، آٹومیشن) کے طور پر محفوظ کی جاتی ہیں اور معیاری ڈیٹا بیس اپ گریڈ کے عمل کے ذریعے منتقل ہوتی ہیں۔ تاہم، اگر Odoo 19 نے بنیادی شکل کے ڈھانچے کو تبدیل کر دیا تو کچھ ویو کی تخصیصات کو دستی جائزہ لینے کی ضرورت ہو سکتی ہے۔ ہجرت کے بعد تمام اسٹوڈیو کی تخصیصات کی ہمیشہ جانچ کریں۔

کیا مجھے منتقلی کے بعد اوپننگ بیلنس دوبارہ داخل کرنے کی ضرورت ہے؟

نہیں، اگر آپ ڈیٹا بیس کو براہ راست منتقل کرتے ہیں۔ تمام تاریخی جرنل اندراجات اور ڈیٹا بیس کے ساتھ بیلنس کی منتقلی. اگر آپ "ڈیٹا امپورٹ کے ساتھ تازہ انسٹال" کا راستہ منتخب کرتے ہیں، تو آپ کو کٹ اوور کی تاریخ کے مطابق اوپننگ بیلنس داخل کرنے کی ضرورت ہوگی، جس کے لیے آپ کی اکاؤنٹنگ ٹیم کے ساتھ محتاط ہم آہنگی کی ضرورت ہے۔

کیا میرا Odoo Enterprise لائسنس ورژن 19 میں منتقل ہو جائے گا؟

جی ہاں Odoo انٹرپرائز سبسکرپشنز ورژن-ایگنوسٹک ہیں۔ آپ کی سالانہ سبسکرپشن آپ جو بھی ورژن چلاتے ہیں اس کا احاطہ کرتی ہے۔ Odoo 19 انٹرپرائز کوڈ حاصل کرنے کے لیے اپنے Odoo پارٹنر سے رابطہ کریں اگر آپ Odoo's Git repository کے ذریعے اپنے انٹرپرائز کی اسناد کے ساتھ اس تک رسائی حاصل نہیں کر رہے ہیں۔


اگلے اقدامات

اوڈو ہجرت اعلیٰ داؤ پر لگے منصوبے ہیں جو براہ راست کاروبار کے تسلسل کو متاثر کرتے ہیں۔ ہموار منتقلی اور تکلیف دہ کے درمیان فرق تیاری، مہارت، اور سخت جانچ کے طریقہ کار میں آتا ہے۔

ECOSIRE نے 13، 14، 15، 16، 17 اور 18 کے ورژن سے Odoo 19 انٹرپرائز میں درجنوں Odoo مثالوں کو کامیابی کے ساتھ منتقل کر دیا ہے۔ ہمارے ہجرت کے طریقہ کار میں مکمل تشخیص، حسب ضرورت ماڈیول اپ ڈیٹس، متوازی جانچ، اور رول بیک طریقہ کار کے ساتھ دستاویزی کٹ اوور پلان شامل ہے۔

ECOSIRE سے Odoo مائیگریشن اسسمنٹ کی درخواست کریں →

ہم آپ کے موجودہ ماحول کا جائزہ لیں گے، نقل مکانی کے تمام خطرات کی نشاندہی کریں گے، اور ایک مقررہ دائرہ کار کی منتقلی کا منصوبہ فراہم کریں گے تاکہ آپ کو بالکل معلوم ہو جائے کہ پہلی مائیگریشن اسکرپٹ چلنے سے پہلے کیا توقع کرنی چاہیے۔

E

تحریر

ECOSIRE Research and Development Team

ECOSIRE میں انٹرپرائز گریڈ ڈیجیٹل مصنوعات بنانا۔ Odoo انٹیگریشنز، ای کامرس آٹومیشن، اور AI سے چلنے والے کاروباری حل پر بصیرت شیئر کرنا۔

Chat on WhatsApp