πŸ“„ Odoo 17 to Odoo 19 Upgrade – Step-by-Step Guide (odoo.sh)

Odoo 17 to Odoo 19 Upgrade – Step-by-Step Guide (odoo.sh)

1. Overview

This document outlines the complete process followed to upgrade the system from Odoo 17 to Odoo 19 using odoo.sh. It covers pre-migration preparation, migration execution, post-migration fixes, frontend adjustments, and repository management for custom modules.

2. Pre-Migration Preparation

2.1 Codebase & Repository Readiness

  • Identified all custom modules used in Odoo 17.

  • Reviewed module compatibility with Odoo 19.

  • Updated deprecated APIs, methods, and attributes as required for Odoo 19.

  • Renamed technical module names where required to comply with Odoo 19 standards.

2.2 GitHub Repository Structure

  • All repositories containing custom modules now include a dedicated 19 branch.

  • The 19 branch contains:

  • Fully migrated custom modules

  • Updated manifests (__manifest__.py)

  • Odoo 19–compatible XML, Python, and JS code

  • Each repository follows the same branching strategy for consistency.

2.3 Database & Environment Preparation

  • Took a full backup of the Odoo 17 production database.

  • Ensured no pending cron jobs or long-running processes were active.

  • Verified third-party modules and dependencies.

3. Migration Execution on odoo.sh

3.1 Branch Creation

  • Created a new staging branch (staging-19) in odoo.sh.

  • Linked the staging branch to the corresponding 19 GitHub branches for all custom repositories.

3.2 Database Upgrade

  • Triggered the database upgrade from Odoo 17 to Odoo 19 via odoo.sh.

  • Monitored migration logs for errors and warnings.

  • Validated that the database schema upgrade completed successfully.

4. Post-Migration Activities

4.1 Migration Log Review

  • Analyzed migration logs for:

  • ORM warnings

  • View validation errors

  • Deprecated field or method usage

  • Addressed issues iteratively and re-tested after each fix.

4.2 Custom Module Validation

  • Installed all migrated custom modules in a fresh Odoo 19 database to ensure:

  • Clean installation without errors

  • Correct dependency resolution

  • Verified module behavior against expected functionality.

5. Frontend & View-Level Fixes

5.1 Reactivating Inactive Views

Some inherited or custom views were found inactive after migration and were manually reactivated:

  • Issue: View inactive post-migration

  • Fix: Updated view state to Active to restore frontend functionality

  • External ID: 

    • avware.view_sale_order_form_inherit

    • avware.units.form.file.manager

    • avware.units.form.inherit.inventory

    • avware.unit.form

    • sale.order.form

5.2 Website Theme Adjustments

  • Updated website theme palette color scheme.

  • Resolved styling inconsistencies caused by migration changes.

  • Verified frontend alignment with expected design.

6. Post-Migration Database Fixes

  • Fixed database-level errors and warnings identified after migration.

  • Addressed issues related to:

  • Missing or obsolete records

  • Constraint warnings

  • View validation issues

  • Ensured overall system stability after fixes.

7. Testing & Validation

7.1 Staging Environment Testing

  • Performed end-to-end testing on the staging branch.

  • Validated:

  • Core business flows

  • Custom module functionality

  • Frontend behavior

  • Website navigation and UI

7.2 Recommended Testing

  • Stakeholders are advised to perform parallel testing on the staging branch.

  • Any identified issues should be reported for immediate resolution.

8. Final Notes

  • All custom modules are fully migrated and maintained in Odoo 19 (19) branches across repositories.

  • Remaining work is limited to identifying and fixing any additional post-migration issues discovered during staging testing.

  • The system is now aligned with Odoo 19 standards and ready for further validation prior to production rollout.