Upgrade 10.0.12 -> 10.1.1 from the UI fails

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • alrisrail
    Junior Member
    • Jul 2026
    • 3

    #1

    Upgrade 10.0.12 -> 10.1.1 from the UI fails

    Hello,

    I tried to upgrade from 10.0.12 to 10.1.1 through Administration > Upgrade and it failed during the second rebuild step. The instance was automatically restored to 10.0.12 and works normally.
    Package: EspoCRM-upgrade-10.0.12-to-10.1.1.zip

    Environment
    - EspoCRM 10.0.12 (before) -> 10.1.1 (target)
    - OVH shared hosting, no SSH / no CLI access, so the UI upgrade was my only option
    - MySQL 8.4
    - PHP version: 8.3.36
    - Custom code only under custom/ and client/custom/ (no DBAL usage in it)
    - Before the upgrade: vendor/doctrine/dbal was 3.10.4 (after the automatic restore it is 3.10.4 again, so the files look clean)

    What the log shows (OPcache warnings removed, paths shortened)

    [07:23:11] INFO: Installation process: Start "init" step.
    [07:23:45] INFO: Start "rebuild" step. -> End "rebuild" step (before the copy)
    [07:23:46] INFO: Start "copy" step. [07:24:11] End "copy" step.
    [07:24:11] INFO: Start "rebuild" step.
    [07:24:11] ERROR: (0) Failed to rebuild database schema. Doctrine\DBAL\Schema\ColumnDiff::__construct(): Argument #1 ($oldColumn) must be of type Doctrine\DBAL\Schema\Column, string given, called in /…/vendor/doctrine/dbal/src/Schema/Comparator.php on line 358; /…/vendor/doctrine/dbal/src/Schema/ColumnDiff.php:17
    [07:24:11] ERROR: (500) Database rebuild failure, details: Error while rebuilding database.
    [07:24:11] INFO: Installer: Restore previous files.
    [07:24:36] ERROR: (500) Error occurred while EspoCRM rebuild. POST /Admin/action/runUpgrade

    My interpretation (well, Claude interpretation, please correct if wrong)
    The error looks like a mix of DBAL 3 and DBAL 4: Comparator calls ColumnDiff with a column name (DBAL 3 API), while ColumnDiff expects a Column object (DBAL 4 API). Since the first rebuild step runs before the files are copied, I suspect the old Comparator class (DBAL 3) was already loaded in memory when the new files (DBAL 4) were copied, and the second rebuild then ran in the same web process. If so, upgrading 10.0.x -> 10.1.x from the UI would fail for any instance that cannot use the CLI.

    Questions
    1. Is this a known issue with the 10.1 upgrade package?
    2. Is there a recommended workaround for hosting without console access (for example a manual upgrade procedure)? The upgrade documentation does not describe one for this case.
    3. Would it help to wait for 10.1.2?

    I can provide the full log if needed. Thank you!
  • shalmaxb
    Senior Member
    • Mar 2015
    • 1887

    #2
    Does your hosting provide CRON with php commands? This is a workaround for hostings without console access. I practice that for years already. The default commands of espoCRM like command.php upgrade -y work. If for larger upgrades your memory linit gets axhausted, you may increase it temporarily in the command.php on the server.

    Comment

    • yuri
      EspoCRM product developer
      • Mar 2014
      • 10116

      #3
      Upgrading locally is also an option.

      We do not officially support upgrading via the UI for long. While patch and some minor/major upgrades usually work via UI, not every upgrade will.

      Comment

      Working...