Migrating VentorTech E-commerce Connectors to Odoo 19.0

Migrating VentorTech E-commerce Connectors to Odoo 19.0

Starting with Odoo 19, all VentorTech E-Commerce connectors use a new job backend called Integration Queue Job (integration_queue_job), replacing the older OCA Job Queue (queue_job).

Because of this architectural change, upgrading from Odoo 16, 17, or 18 to Odoo 19 requires additional preparation steps. Skipping these steps may result in upgrade failures, broken connectors, or data loss, especially on Odoo.sh.

This guide explains:

  • Why the extra migration steps are required

  • Why the Upgrade Helper and Shim modules are mandatory

  • How to complete the upgrade safely, step by step

The upgrade process requires a solid technical understanding of the overall workflow. We have tried to explain each step in detail, but for most users the process may still seem complex.

We are ready to handle the upgrade of your Odoo instance for you. This service is included in our Installation & Configuration Service.

https://ecosystem.ventor.tech/product/installation-configuration-service/

Why Extra Migration Steps Are Required

Most customers currently have these modules installed:

  • Odoo E-Commerce Connector Core module (integration)

  • One or more platform connectors:

    • Shopify (integration_shopify)

    • WooCommerce (integration_woocommerce)

    • Magento (integration_magento2)

    • PrestaShop (integration_prestashop)

  • Job Queue (queue_job)

  • (Optional) Job Queue Subscribe (queue_job_subscribe)

In Odoo 19, the old modules (queue_job, queue_job_subscribe) are no longer used. However, uninstalling them directly destroys connector data. To address this, we developed integration_queue_job to replace their functionality. Starting with Odoo 19, VentorTech connectors require integration_queue_job. And due to the fact that the Odoo Upgrade Service runs without custom modules, migration scripts cannot run there.

If the upgrade is attempted “as is”, you will get:

  • Orphaned job tables

  • Duplicated job channels

  • Missing models

  • Connectors failing on startup

To solve this, we use upgrade helper and shim modules.

 What Are Shim Modules?

Shim modules are small compatibility modules that:

  • Keep the module names queue_job and queue_job_subscribe installed

  • Includes the migration script that will adapt queue_job models for avoiding conflicts during the installation of integration_queue_job

  • But contain no models and no data

This allows:

  • The Odoo.sh to safely load the migrated Database

  • Prepares Job Queue data so it can be safely reused by integration_queue_job

  • Prevents database conflicts that cannot be fixed during the automated upgrade

  • Odoo 19.0 to continue seeing the old modules as “present”, avoiding uninstall operations

  • Our integration_queue_job module to replace the old one transparently

 What Is Upgrade Helper Module?

The Integration Upgrade Helper module prepares your database before the Odoo 19 upgrade and is mandatory. Install it on your current product branch, not on the upgrade branch.

Why Is This Module Needed?

Odoo 19 introduces structural changes in how connectors store:

  • Product images

  • Product categories

The Upgrade Helper module prepares this data in advance, while your current Odoo version is still running and all models are available.

What Does the Upgrade Helper Module Do?

The module:

  • Adapts product categories and product images to the Odoo 19 data model:

    • Categories: product.public.categoryecommerce.product.category

    • Images: product.imageecommerce.product.image

  • Ensures the Odoo Upgrade Service can load the database without errors

Upgrade Helper and Shim modules are needed only during the migration and can be removed later.

What You Need Before Starting

Before starting the migration:

  • Deploy the latest VentorTech connector versions for your current Odoo version

  • Update any custom connector extensions

  • Ensure your Production environment is stable and error-free

Step-by-Step Migration Instructions (Odoo.sh)

This section is intended for customers and implementation partners.

STEP 1. Ensure Production is Healthy

On your Odoo.sh Production branch:

  1. Update to the latest VentorTech connector versions for your current Odoo version

  2. Ensure all modules install correctly

  3. Fix any failing builds

  4. Verify connectors work (import order, sync product, etc.)

A clean Production environment is essential because this is the database the upgrade service will use.

We recommend to create a backup before the next step.

STEP 2. Install and Run the Upgrade Helper Module

  1. Install the Integration Upgrade Helper module on Production

  2. Open the Store section

  3. Go to the new Migration (Odoo 19.0) tab

  4. Open Migration Wizard and start the process

  5. Wait until it finishes

    Screenshot 2025-12-17 at 15.10.44.png
  6. Uninstall the Integration Upgrade Helper and remove it from the production repository.

Do not install the Integration Upgrade Helper module on the Odoo 19 branch.

STEP 3. Create and Prepare an Odoo 19 Migration Branch

This method ensures a clean migration without causing build failures on Odoo.sh.

  1. Create a new branch from Production

  • Name it anything, e.g. 19.0-migration

  • Do NOT switch the branch to Odoo 19 yet

Why not switch now?

Because the branch would try to build Odoo 19 with Odoo 18 modules still present – causing errors. We avoid this by preparing all code before the version switch.

STEP 4. Prepare the Odoo 19 Codebase

In the migration branch:

  1. Replace all connector modules with their Odoo 19 versions

  2. Remove queue_job

  3. Add integration_queue_job

This step is purely a Git-level change.

STEP 5. Add Shim Modules and migration script

  1. Add the following shim modules to the same branch:

  • queue_job (shim – always required):

  • queue_job_subscribe (shim – only if it was installed previously):

The shim modules contain:

  • No models

  • No data files

  • A migration script that helps to overwrite models in database.

Their purpose is to keep the upgrade service from trying to uninstall old queue_job modules (which would break connector data). You may distribute ZIPs for customer convenience.

  1. Add the dependency of queue_job into the integration_queue_job. This will help the upgrade process to run migration script before the integration_queue_job will be installed.

    Screenshot 2025-12-22 at 08.46.59.png
  2. Add the dependency in requirements.txt:

    git+https://github.com/OCA/openupgradelib.git@master

It is mandatory for the migration script located in queue_job shim module.

  1. Commit and push.

At this point your branch:

  • Still shows as “Old version”

  • Contains fully prepared Odoo 19.0 code

  • Includes the shim modules

  • Is ready for the upgrade process

This is exactly what we want.

STEP 6. Upgrade to Odoo 19

You can now safely run the standard Odoo.sh upgrade to Odoo 19 using this staging branch. If you have any other issues related to our connectors please contact our support team: support@ventor.tech

STEP 7. After the Upgrade Is Completed

Once the system is stable on Odoo 19:

  • Remove the dependency of queue_job from the integration_queue_job module

  • Go to Apps and uninstall Shim module and Upgrade Helper (queue_job, queue_job_subscribe and integration_upgrade_helper)

  • The Shim modules and Upgrade Helper can be safely removed from the branch

  • They are no longer needed after the migration. Removing them will not affect data or connector functionality

  • Edit the configuration file.
    Replace queue_job with integration_queue_job in server_wide_modules option. Also the existed options should be renamed in Odoo 19.

Location of the config file: /home/odoo/.config/odoo/odoo.conf

The example of the updated configuration file:

server_wide_modules = web,rpc,base,integration_queue_job,<connector_name>

queue_job_channels = root:1
queue_job_scheme = https
queue_job_host = <your_odoo_host>
queue_job_port = 443

IMPORTANT:

  • Replace <connector_name> with the correct module name (e.g., integration_shopify).

  • Replace <your_odoo_host> with your actual domain name (e.g., myhost.odoo.com).

After editing the configuration file, run the following command in the shell:

odoosh-restart http

When the upgrade process will be completed and you will notice an issue when jobs trying to reach localhost, you need to restart cronworker.

odoosh-restart cron

Frequently Asked Questions

Q: Do I need to remove OCA queue_job manually?

No – never do this. The shim modules replace it safely.

Q: Why does the upgrade log say “module queue_job: not installable, skipped”?

This message comes from the Upgrade Service, which does not include your custom shim modules. It is normal and expected.

Q: What if I won’t add the shim modules before upgrade?

The upgrade will fail. Always ensure the migration branch includes them.

Q: Can shim and upgrade_helper modules be used for future upgrades?

They are needed only for the upgrade to Odoo 19. After the system stabilizes, they can be removed.

Q: Why can’t the upgrade happen automatically?

Because Odoo’s upgrade platform:

  • Cannot load custom modules

  • Cannot remove models added by legacy Job Queue (queue_job) module without their Python classes

  • Would destroy connector data without transitional logic

Shim modules solve this cleanly.

Need help or have questions?

If you need assistance preparing your migration branch, installing the Upgrade Helper, adding shim modules, or validating your upgraded environment, our support team is here to help.

📩 Reach out to our support team: Support Portal

Related Posts