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.