Update to 31.0.0.7 failed - reason: theming app - SQL issue with duplicate entry (1062)

Hey nextcloud community,

I am facing problems with updating nextcloud from version 30.0.4.1 to 31.0.0.7.

The Basics

  • Nextcloud Server version : 31.0.0.7.
  • Operating system and version : debian 12.8
  • Web server and version : 2.4.62
  • PHP version : 8.2.24
  • Is this the first time you’ve seen this error?: Yes
  • When did this problem seem to first start? During update process
  • Are you using CloudfIare, mod_security, or similar? No

Summary of the issue you are facing:

Update to 31.0.0.78 (beta) failed with database exception, regarding theming app. I am neither able to finalize the update, nor to disable theming app (since it is build in).

Steps to replicate it (hint: details matter!):

  1. Starting the update via web-interface stopped with error message
Exception: Database error when running migration 2006Date20240905111627 for app theming
An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'userxy-theming-primary_color' for key 'PRIMARY'
  1. Trying to update indices via occ failed as well, with same error message.
  2. occ Maintenance:repair finishes without issues:
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
 - Repair MySQL collation
     - All tables already have the correct collation -> nothing to do
 - Clean tags and favorites
     - 0 tags of deleted users have been removed.
     - 0 tags for delete files have been removed.
     - 0 tag entries for deleted tags have been removed.
     - 0 tags with no entries have been removed.
 - Repair invalid shares
 - Move .step file of updater to backup location
 - Add move avatar background job
     - Repair step already executed
 - Add preview cleanup background jobs
 - Migrate oauth2_clients table to nextcloud schema
     - Update the oauth2_access_tokens table schema.
     - Update the oauth2_clients table schema.
     - Delete clients (and their related access tokens) with the redirect_uri starting with oc:// or ending with *
 - Repair language codes
 - Add log rotate job
 - Clear frontend caches
     - Image cache cleared
     - JS cache cleared
 - Clear every generated avatar
 - Add preview background cleanup job
 - Queue a one-time job to cleanup old backups of the updater
 - Cleanup invalid photocache files for carddav
 - Add background job to cleanup login flow v2 tokens
 - Remove potentially over exposing share links
     - No need to remove link shares.
 - Clear access cache of projects
 - Reset generated avatar flag
 - Keep legacy encryption enabled
 - Check encryption key format
 - Remove old dashboard app config data
 - Add job to cleanup the bruteforce entries
 - Queue a one-time job to check for user uploaded certificates
 - Repair DAV shares
 - Add background job to set the lookup server share state for users
 - Add token cleanup job
 - Clean up abandoned apps
 - Add possibly missing system config
 - Add AI tasks cleanup jobs
 - Queue a job to generate metadata
 - migrate lazy config values
 - Cache logo dimension to fix size in emails on Outlook
     - Theming is not used to provide a logo
 - Remove legacy ".ocdata" file
 - Add cleanup-deleted-users background job
 - AppAPI Daemons configuration GPU params update
     - Daemons configuration GPU params updated: 0
 - Fix component of birthday calendars
     - 9 birthday calendars updated.
 - Regenerating birthday calendars to use new icons and fix old birthday events without year
     - Repair step already executed
 - Fix broken values of calendar objects
    0 [->--------------------------]
 - Registering building of calendar search index as background job
     - Repair step already executed
 - Register building of social profile search index as background job
     - Repair step already executed
 - Registering background jobs to update cache for webcal calendars
     - Added 0 background jobs to update webcal calendars
 - Registering building of calendar reminder index as background job
     - Repair step already executed
 - Clean up orphan event and contact data
     - 0 events without a calendar have been cleaned up
     - 0 properties without an events have been cleaned up
     - 0 changes without a calendar have been cleaned up
     - 0 cached events without a calendar subscription have been cleaned up
     - 0 changes without a calendar subscription have been cleaned up
     - 0 contacts without an addressbook have been cleaned up
     - 0 properties without a contact have been cleaned up
     - 0 changes without an addressbook have been cleaned up
 - Remove activity entries of private events
     - Removed 0 activity entries
 - Clean up old calendar subscriptions from deleted users that were not cleaned-up
 3/3 [============================] 100%
     - 0 calendar subscriptions without an user have been cleaned up
 - Remove invalid object properties
     - 0 invalid object properties removed.
 - Fix the share type of guest shares when migrating from ownCloud
 - Copy the share password into the dedicated column
 - Set existing shares as accepted
 - Clean up meta table
 - Show a hint about the new editor to existing users
 - Update OAuth token expiration times
 - init metadata
 - Polls - Drop orphaned tables
     - No orphaned tables found
 - Polls - Drop orphaned columns
     - No orphaned columns found
 - Polls - Create hashes for votes and options
     - Updated 32 option hashes
     - Updated 88 vote hashes
 - Polls - Delete duplicates and orphaned records
 - Polls - Create indices and foreign key constraints
     - Added oc_polls_polls['poll_id'] <- oc_polls_comments['id']
     - Added oc_polls_polls['poll_id'] <- oc_polls_log['id']
     - Added oc_polls_polls['poll_id'] <- oc_polls_notif['id']
     - Added oc_polls_polls['poll_id'] <- oc_polls_options['id']
     - Added oc_polls_polls['poll_id'] <- oc_polls_share['id']
     - Added oc_polls_polls['poll_id'] <- oc_polls_votes['id']
     - Index UNIQ_options already exists in oc_polls_options
     - Index UNIQ_unprocessed already exists in oc_polls_log
     - Index UNIQ_subscription already exists in oc_polls_notif
     - Index UNIQ_shares already exists in oc_polls_share
     - Index UNIQ_votes already exists in oc_polls_votes
     - Index UNIQ_preferences already exists in oc_polls_preferences
     - Index UNIQ_watch already exists in oc_polls_watch
     - Index polls_polls_owners_non_deleted already exists in oc_polls_polls
     - Polls - Foreign key contraints created.
     - Polls - Indices created.
 - Force-reset all Text document sessions
 - Initialize migration of background images from dashboard to theming app
 - Add background job to check for backup codes
 - Populating added database structures for workflows
  1. Connecting to mysql and checking application (esp. oc_appconfig) related tables does not show any duplicate entry.
  2. Nextcloud does not show login, but rather proposes to restart installation (with same issue).

Nextcloud log-file:

{"reqId":"EmognI0NEFovsUQjfp0Z","level":1,"time":"2025-01-09T23:37:36+01:00","remoteAddr":"","user":false,"app":"updater","method":"","url":"--","message":"\\OC\\Updater::setDebugLogLevel: Set log level to debug","userAgent":"--","version":"30.0.4.1","data":{"app":"updater"}}
{"reqId":"EmognI0NEFovsUQjfp0Z","level":3,"time":"2025-01-09T23:37:37+01:00","remoteAddr":"","user":false,"app":"no app in context","method":"","url":"--","message":"Database error when running migration 2006Date20240905111627 for app theming\nAn exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'userxy-theming-primary_color' for key 'PRIMARY'","userAgent":"--","version":"30.0.4.1","exception":{"Exception":"Exception","Message":"Database error when running migration 2006Date20240905111627 for app theming\nAn exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'userxy-theming-primary_color' for key 'PRIMARY'","Code":0,"Trace":[{"file":"/var/www/html/nextcloud/lib/private/legacy/OC_App.php","line":694,"function":"migrate","class":"OC\\DB\\MigrationService","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Updater.php","line":325,"function":"updateApp","class":"OC_App","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/Updater.php","line":236,"function":"doAppUpgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Updater.php","line":100,"function":"doUpgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/html/nextcloud/core/Command/Upgrade.php","line":192,"function":"upgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Command/Command.php","line":326,"function":"execute","class":"OC\\Core\\Command\\Upgrade","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Application.php","line":1078,"function":"run","class":"Symfony\\Component\\Console\\Command\\Command","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Application.php","line":324,"function":"doRunCommand","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Application.php","line":175,"function":"doRun","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Console/Application.php","line":187,"function":"run","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/console.php","line":87,"function":"run","class":"OC\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/occ","line":11,"args":["/var/www/html/nextcloud/console.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/lib/private/DB/MigrationService.php","Line":399,"Previous":{"Exception":"OC\\DB\\Exceptions\\DbalException","Message":"An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'userxy-theming-primary_color' for key 'PRIMARY'","Code":1062,"Trace":[{"file":"/var/www/html/nextcloud/lib/private/DB/ConnectionAdapter.php","line":69,"function":"wrap","class":"OC\\DB\\Exceptions\\DbalException","type":"::"},{"file":"/var/www/html/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":306,"function":"executeStatement","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/html/nextcloud/apps/theming/lib/Migration/Version2006Date20240905111627.php","line":86,"function":"executeStatement","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/html/nextcloud/apps/theming/lib/Migration/Version2006Date20240905111627.php","line":49,"function":"restoreUserColors","class":"OCA\\Theming\\Migration\\Version2006Date20240905111627","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/MigrationService.php","line":504,"function":"changeSchema","class":"OCA\\Theming\\Migration\\Version2006Date20240905111627","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/MigrationService.php","line":395,"function":"executeStep","class":"OC\\DB\\MigrationService","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/legacy/OC_App.php","line":694,"function":"migrate","class":"OC\\DB\\MigrationService","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Updater.php","line":325,"function":"updateApp","class":"OC_App","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/Updater.php","line":236,"function":"doAppUpgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Updater.php","line":100,"function":"doUpgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/html/nextcloud/core/Command/Upgrade.php","line":192,"function":"upgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Command/Command.php","line":326,"function":"execute","class":"OC\\Core\\Command\\Upgrade","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Application.php","line":1078,"function":"run","class":"Symfony\\Component\\Console\\Command\\Command","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Application.php","line":324,"function":"doRunCommand","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Application.php","line":175,"function":"doRun","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Console/Application.php","line":187,"function":"run","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/console.php","line":87,"function":"run","class":"OC\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/occ","line":11,"args":["/var/www/html/nextcloud/console.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/lib/private/DB/Exceptions/DbalException.php","Line":54,"Previous":{"Exception":"Doctrine\\DBAL\\Exception\\UniqueConstraintViolationException","Message":"An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'userxy-theming-primary_color' for key 'PRIMARY'","Code":1062,"Trace":[{"file":"/var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connection.php","line":1939,"function":"convert","class":"Doctrine\\DBAL\\Driver\\API\\MySQL\\ExceptionConverter","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connection.php","line":1881,"function":"handleDriverException","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connection.php","line":1213,"function":"convertExceptionDuringQuery","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php","line":292,"function":"executeStatement","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/Connection.php","line":462,"function":"executeStatement","class":"Doctrine\\DBAL\\Connections\\PrimaryReadReplicaConnection","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/ConnectionAdapter.php","line":67,"function":"executeStatement","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":306,"function":"executeStatement","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/html/nextcloud/apps/theming/lib/Migration/Version2006Date20240905111627.php","line":86,"function":"executeStatement","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/html/nextcloud/apps/theming/lib/Migration/Version2006Date20240905111627.php","line":49,"function":"restoreUserColors","class":"OCA\\Theming\\Migration\\Version2006Date20240905111627","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/MigrationService.php","line":504,"function":"changeSchema","class":"OCA\\Theming\\Migration\\Version2006Date20240905111627","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/MigrationService.php","line":395,"function":"executeStep","class":"OC\\DB\\MigrationService","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/legacy/OC_App.php","line":694,"function":"migrate","class":"OC\\DB\\MigrationService","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Updater.php","line":325,"function":"updateApp","class":"OC_App","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/Updater.php","line":236,"function":"doAppUpgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Updater.php","line":100,"function":"doUpgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/html/nextcloud/core/Command/Upgrade.php","line":192,"function":"upgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Command/Command.php","line":326,"function":"execute","class":"OC\\Core\\Command\\Upgrade","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Application.php","line":1078,"function":"run","class":"Symfony\\Component\\Console\\Command\\Command","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Application.php","line":324,"function":"doRunCommand","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Application.php","line":175,"function":"doRun","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Console/Application.php","line":187,"function":"run","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/console.php","line":87,"function":"run","class":"OC\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/occ","line":11,"args":["/var/www/html/nextcloud/console.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php","Line":62,"Previous":{"Exception":"Doctrine\\DBAL\\Driver\\PDO\\Exception","Message":"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'userxy-theming-primary_color' for key 'PRIMARY'","Code":1062,"Trace":[{"file":"/var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php","line":132,"function":"new","class":"Doctrine\\DBAL\\Driver\\PDO\\Exception","type":"::"},{"file":"/var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connection.php","line":1207,"function":"execute","class":"Doctrine\\DBAL\\Driver\\PDO\\Statement","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php","line":292,"function":"executeStatement","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/Connection.php","line":462,"function":"executeStatement","class":"Doctrine\\DBAL\\Connections\\PrimaryReadReplicaConnection","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/ConnectionAdapter.php","line":67,"function":"executeStatement","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":306,"function":"executeStatement","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/html/nextcloud/apps/theming/lib/Migration/Version2006Date20240905111627.php","line":86,"function":"executeStatement","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/html/nextcloud/apps/theming/lib/Migration/Version2006Date20240905111627.php","line":49,"function":"restoreUserColors","class":"OCA\\Theming\\Migration\\Version2006Date20240905111627","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/MigrationService.php","line":504,"function":"changeSchema","class":"OCA\\Theming\\Migration\\Version2006Date20240905111627","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/MigrationService.php","line":395,"function":"executeStep","class":"OC\\DB\\MigrationService","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/legacy/OC_App.php","line":694,"function":"migrate","class":"OC\\DB\\MigrationService","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Updater.php","line":325,"function":"updateApp","class":"OC_App","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/Updater.php","line":236,"function":"doAppUpgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Updater.php","line":100,"function":"doUpgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/html/nextcloud/core/Command/Upgrade.php","line":192,"function":"upgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Command/Command.php","line":326,"function":"execute","class":"OC\\Core\\Command\\Upgrade","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Application.php","line":1078,"function":"run","class":"Symfony\\Component\\Console\\Command\\Command","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Application.php","line":324,"function":"doRunCommand","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Application.php","line":175,"function":"doRun","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Console/Application.php","line":187,"function":"run","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/console.php","line":87,"function":"run","class":"OC\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/occ","line":11,"args":["/var/www/html/nextcloud/console.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Exception.php","Line":28,"Previous":{"Exception":"PDOException","Message":"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'userxy-theming-primary_color' for key 'PRIMARY'","Code":"23000","Trace":[{"file":"/var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php","line":130,"function":"execute","class":"PDOStatement","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connection.php","line":1207,"function":"execute","class":"Doctrine\\DBAL\\Driver\\PDO\\Statement","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php","line":292,"function":"executeStatement","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/Connection.php","line":462,"function":"executeStatement","class":"Doctrine\\DBAL\\Connections\\PrimaryReadReplicaConnection","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/ConnectionAdapter.php","line":67,"function":"executeStatement","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":306,"function":"executeStatement","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/html/nextcloud/apps/theming/lib/Migration/Version2006Date20240905111627.php","line":86,"function":"executeStatement","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/html/nextcloud/apps/theming/lib/Migration/Version2006Date20240905111627.php","line":49,"function":"restoreUserColors","class":"OCA\\Theming\\Migration\\Version2006Date20240905111627","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/MigrationService.php","line":504,"function":"changeSchema","class":"OCA\\Theming\\Migration\\Version2006Date20240905111627","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/DB/MigrationService.php","line":395,"function":"executeStep","class":"OC\\DB\\MigrationService","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/legacy/OC_App.php","line":694,"function":"migrate","class":"OC\\DB\\MigrationService","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Updater.php","line":325,"function":"updateApp","class":"OC_App","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/lib/private/Updater.php","line":236,"function":"doAppUpgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Updater.php","line":100,"function":"doUpgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/html/nextcloud/core/Command/Upgrade.php","line":192,"function":"upgrade","class":"OC\\Updater","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Command/Command.php","line":326,"function":"execute","class":"OC\\Core\\Command\\Upgrade","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Application.php","line":1078,"function":"run","class":"Symfony\\Component\\Console\\Command\\Command","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Application.php","line":324,"function":"doRunCommand","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/3rdparty/symfony/console/Application.php","line":175,"function":"doRun","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/lib/private/Console/Application.php","line":187,"function":"run","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/console.php","line":87,"function":"run","class":"OC\\Console\\Application","type":"->"},{"file":"/var/www/html/nextcloud/occ","line":11,"args":["/var/www/html/nextcloud/console.php"],"function":"require_once"}],"File":"/var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php","Line":130}}}},"message":"Database error when running migration 2006Date20240905111627 for app theming\nAn exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'userxy-theming-primary_color' for key 'PRIMARY'","exception":{},"CustomMessage":"Database error when running migration 2006Date20240905111627 for app theming\nAn exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'userxy-theming-primary_color' for key 'PRIMARY'"}}
{"reqId":"EmognI0NEFovsUQjfp0Z","level":3,"time":"2025-01-09T23:37:37+01:00","remoteAddr":"","user":false,"app":"updater","method":"","url":"--","message":"\\OC\\Updater::failure: Exception: Database error when running migration 2006Date20240905111627 for app theming\nAn exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'userxy-theming-primary_color' for key 'PRIMARY'","userAgent":"--","version":"30.0.4.1","data":{"app":"updater"}}
{"reqId":"EmognI0NEFovsUQjfp0Z","level":3,"time":"2025-01-09T23:37:37+01:00","remoteAddr":"","user":false,"app":"updater","method":"","url":"--","message":"\\OC\\Updater::updateEnd: Update failed","userAgent":"--","version":"30.0.4.1","data":{"app":"updater"}}

Configuration

Nextcloud

<?php
$CONFIG = array (
  'passwordsalt' => 'salt...',
  'secret' => 'secret...',
  'trusted_domains' =>
  array (
    0 => 'localhost',
    1 => 'domain.de',
    2 => '192.168.xx,yy',
    3 => '10.xx.yy.zz',
  ),
  'datadirectory' => '/mnt/nextcloud/data',
  'dbtype' => 'mysql',
  'version' => '30.0.4.1',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'nextcloud_user',
  'dbpassword' => 'password',
  'installed' => true,
  'instanceid' => 'instanceID',
  'mail_smtpmode' => 'smtp',
  'mail_from_address' => 'nextcloud',
  'mail_domain' => 'domain.de',
  'mail_smtphost' => 'domain.de',
  'maintenance' => true,
  'theme' => '',
  'log_type' => 'file',
  'logfilemode' => 416,
  'loglevel' => 0,
  'log_rotate_size' => 104857600,
  'default_language' => 'de',
  'defaultapp' => 'files,calendar,contacts,deck,notes',
  'knowledgebaseenabled' => false,
  'allow_user_to_change_display_name' => true,
  'session_keepalive' => true,
  'enable_previews' => true,
  'mail_smtpport' => '25',
  'check_for_working_htaccess' => true,
  'logtimezone' => 'Europe/Berlin',
  'activity_expire_days' => 365,
  'trashbin_retention_obligation' => 'auto',
  'ldapIgnoreNamingRules' => false,
  'ldapProviderFactory' => 'OCA\\User_LDAP\\LDAPProviderFactory',
  'mail_sendmailmode' => 'smtp',
  'mysql.utf8mb4' => true,
  'updater.release.channel' => 'beta',
  'mail_smtpauthtype' => 'LOGIN',
  'default_phone_region' => 'DE',
  'app_install_overwrite' =>
  array (
    0 => 'audioplayer',
    1 => 'audioplayer_editor',
    2 => 'gpxedit',
    3 => 'gpxmotion',
    4 => 'maps',
    5 => 'files_downloadactivity',
    6 => 'apporder',
    7 => 'calendar',
    8 => 'event_update_notification',
    9 => 'contacts',
    10 => 'deck',
    11 => 'mindmap_app',
    12 => 'files_mindmap',
    13 => 'dicomviewer',
    14 => 'breezedark',
    15 => 'onlyoffice',
    16 => 'files_trackdownloads',
    17 => 'documentserver_community',
    18 => 'workflow_pdf_converter',
    19 => 'weather',
    20 => 'polls',
    21 => 'fulltextsearch',
    22 => 'extract',
    23 => 'keeweb',
    24 => 'checksum',
    25 => 'dashboardcharts',
    26 => 'files_fulltextsearch',
    27 => 'ocr',
    28 => 'drawio',
    29 => 'music',
    30 => 'analytics',
    31 => 'workflow_ocr',
    32 => 'files_fulltextsearch_tesseract',
    33 => 'fulltextsearch_elasticsearch',
    34 => 'flow_notifications',
    35 => 'flowupload',
    36 => 'pdfdraw',
    37 => 'ownpad',
    38 => 'whiteboard',
    39 => 'uploaddetails',
    40 => 'radio',
    41 => 'files_bpm',
    42 => 'integration_whiteboard',
    43 => 'backup',
    44 => 'customproperties',
    45 => 'health',
    46 => 'hibp',
    47 => 'openotp_auth',
    48 => 'cospend',
    49 => 'electronicsignatures',
    50 => 'files_markdown',
    51 => 'tasks',
    52 => 'richdocuments',
    53 => 'richdocumentscode',
    54 => 'appointments',
    55 => 'memories',
  ),
  'overwrite.cli.url' => 'https://domain.de/cloud',
  'mail_smtpsecure' => 'tls',
  'mail_smtpauth' => 1,
  'mail_smtpname' => 'user',
  'mail_smtppassword' => 'password',
  'tempdirectory' => '/tmp',
  'filelocking.enabled' => true,
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'redis' =>
  array (
    'host' => 'localhost',
    'port' => 6379,
  ),
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'maintenance_window_start' => 2,
  'memories.db.triggers.fcu' => true,
  'memories.exiftool' => '/var/www/html/nextcloud/apps/memories/bin-ext/exiftool-amd64-glibc',
  'memories.vod.path' => '/var/www/html/nextcloud/apps/memories/bin-ext/go-vod-amd64',
  'enabledPreviewProviders' =>
  array (
    0 => 'OC\\Preview\\Image',
    1 => 'OC\\Preview\\Movie',
    2 => 'OC\\Preview\\TIFF',
    3 => 'OC\\Preview\\HEIC',
  ),
  'memories.vod.ffmpeg' => '/usr/bin/ffmpeg',
  'memories.vod.ffprobe' => '/usr/bin/ffprobe',
  'forbidden_filename_basenames' =>
  array (
    0 => 'con',
    1 => 'prn',
    2 => 'aux',
    3 => 'nul',
    4 => 'com0',
    5 => 'com1',
    6 => 'com2',
    7 => 'com3',
    8 => 'com4',
    9 => 'com5',
    10 => 'com6',
    11 => 'com7',
    12 => 'com8',
    13 => 'com9',
    14 => 'com¹',
    15 => 'com²',
    16 => 'com³',
    17 => 'lpt0',
    18 => 'lpt1',
    19 => 'lpt2',
    20 => 'lpt3',
    21 => 'lpt4',
    22 => 'lpt5',
    23 => 'lpt6',
    24 => 'lpt7',
    25 => 'lpt8',
    26 => 'lpt9',
    27 => 'lpt¹',
    28 => 'lpt²',
    29 => 'lpt³',
  ),
  'forbidden_filename_characters' =>
  array (
    0 => '<',
    1 => '>',
    2 => ':',
    3 => '"',
    4 => '|',
    5 => '?',
    6 => '*',
    7 => '\\',
    8 => '/',
  ),
  'forbidden_filename_extensions' =>
  array (
    0 => ' ',
    1 => '.',
    2 => '.filepart',
    3 => '.part',
  ),
  'updater.secret' => 'updater-Secret',
);

Apps

Enabled:

  • activity: 4.0.0
  • admin_audit: 1.21.0
  • app_api: 4.0.3
  • assistant: 2.2.0
  • audioplayer: 3.4.1
  • bruteforcesettings: 3.0.0
  • cloud_federation_api: 1.14.0
  • comments: 1.21.0
  • cospend: 3.0.8
  • dashboard: 7.10.0
  • dav: 1.33.0
  • federatedfilesharing: 1.20.0
  • federation: 1.21.0
  • files: 2.3.1
  • files_external: 1.23.0
  • files_pdfviewer: 3.0.0
  • files_sharing: 1.23.1
  • files_trashbin: 1.21.0
  • files_versions: 1.24.0
  • gpxpod: 7.0.4
  • integration_deepl: 1.3.0
  • integration_onedrive: 3.3.1
  • integration_openstreetmap: 2.0.1
  • logreader: 4.0.0
  • lookup_server_connector: 1.19.0
  • nextcloud_announcements: 3.0.0
  • notes: 4.11.0
  • notifications: 4.0.0
  • oauth2: 1.19.1
  • password_policy: 3.0.0
  • photos: 4.0.0-dev.1
  • polls: 8.0.0-alpha8
  • profile: true
  • provisioning_api: 1.20.0
  • related_resources: 1.5.0
  • serverinfo: 2.0.0
  • settings: 1.13.0
  • sharebymail: 1.21.0
  • suspicious_login: 9.0.0
  • systemtags: 1.21.1
  • tasks: 0.16.1
  • text: 4.1.0
  • theming: 2.5.0
  • twofactor_backupcodes: 1.19.0
  • twofactor_totp: 12.0.0-dev
  • updatenotification: 1.20.0
  • user_status: 1.10.0
  • viewer: 3.0.0
  • weather_status: 1.10.0
  • webhook_listeners: 1.2.0
  • workflowengine: 2.13.0
    Disabled:
  • analytics: 5.2.1 (installed 5.2.1)
  • appointments: 2.3.5 (installed 2.3.5)
  • apporder: 0.15.0 (installed 0.15.0)
  • breezedark: 29.0.0 (installed 29.0.0)
  • calendar: 5.0.8 (installed 5.0.8)
  • camerarawpreviews: 0.8.6 (installed 0.8.6)
  • checksum: 1.2.5 (installed 1.2.5)
  • circles: 31.0.0-dev.0 (installed 25.0.0)
  • contacts: 6.1.2 (installed 6.1.2)
  • contactsinteraction: 1.12.0 (installed 1.6.0)
  • customproperties: 2.0.4 (installed 2.0.4)
  • deck: 1.14.2 (installed 1.14.2)
  • documentserver_community: 0.1.20 (installed 0.1.20)
  • drawio: 3.0.3 (installed 3.0.3)
  • electronicsignatures: 3.0.2 (installed 3.0.2)
  • encryption: 2.19.0
  • event_update_notification: 2.5.0 (installed 2.5.0)
  • extract: 1.3.6 (installed 1.3.6)
  • files_automatedtagging: 1.20.0 (installed 1.20.0)
  • files_bpm: 1.5.0 (installed 1.5.0)
  • files_downloadactivity: 1.17.0 (installed 1.17.0)
  • files_downloadlimit: 4.0.0 (installed 2.0.0)
  • files_fulltextsearch: 30.0.0 (installed 30.0.0)
  • files_fulltextsearch_tesseract: 27.0.0 (installed 27.0.0)
  • files_markdown: 2.4.1 (installed 2.4.1)
  • files_mindmap: 0.0.31 (installed 0.0.31)
  • files_reminders: 1.4.0 (installed 1.2.0)
  • files_trackdownloads: 1.11.0 (installed 1.11.0)
  • firstrunwizard: 4.0.0 (installed 2.6.0)
  • flowupload: 1.1.3 (installed 1.1.3)
  • fulltextsearch: 30.0.0 (installed 30.0.0)
  • fulltextsearch_elasticsearch: 30.0.0 (installed 30.0.0)
  • gpxedit: 0.0.14 (installed 0.0.14)
  • health: 2.2.2 (installed 2.2.2)
  • hibp: 0.1.0 (installed 0.1.0)
  • integration_homeassistant: 0.0.5 (installed 0.0.5)
  • integration_openproject: 2.7.2 (installed 2.7.2)
  • integration_paperless: 1.0.4 (installed 1.0.4)
  • integration_twitter: 1.0.7 (installed 1.0.7)
  • integration_whiteboard: 0.0.15 (installed 0.0.15)
  • keeweb: 0.6.20 (installed 0.6.20)
  • maps: 1.6.0 (installed 1.6.0)
  • memories: 7.4.1 (installed 7.4.1)
  • music: 2.1.1 (installed 2.1.1)
  • ownpad: 0.12.0 (installed 0.12.0)
  • pdfdraw: 0.1.2 (installed 0.1.2)
  • privacy: 3.0.0 (installed 1.0.0)
  • recommendations: 4.0.0 (installed 1.0.0)
  • richdocuments: 8.5.3 (installed 8.5.3)
  • richdocumentscode: 24.4.1002 (installed 24.4.1002)
  • side_menu: 4.0.1 (installed 4.0.1)
  • spreed: 20.1.1 (installed 20.1.1)
  • support: 3.0.0 (installed 1.0.0)
  • survey_client: 3.0.0 (installed 1.1.0)
  • twofactor_nextcloud_notification: 5.0.0
  • user_ldap: 1.22.0 (installed 1.6.0)
  • weather: 1.7.7 (installed 1.7.7)
  • whiteboard: 1.0.4 (installed 1.0.4)
  • workflow_ocr: 1.30.1 (installed 1.30.1)
  • workflow_pdf_converter: 1.15.0 (installed 1.15.0)

Thank you very much for any helping hint.

Kind regards,
Dominik

So you are testing betas?
Please report issues at suitable GitHub repo to help polishing the final release of v31.

On table “oc_preferences”, delete:

userid =
appid = theming
configkey = primary_color

Dear Paloma,

Thank you very much. Your recommendation fixed the issue.

Kind regards,
Dominik

This topic was automatically closed 8 days after the last reply. New replies are no longer allowed.