Skip to content

Instantly share code, notes, and snippets.

@andreas-becker
Created December 21, 2020 18:36
Show Gist options
  • Save andreas-becker/e1121836956a8f3b9265b902ea6e612f to your computer and use it in GitHub Desktop.
Save andreas-becker/e1121836956a8f3b9265b902ea6e612f to your computer and use it in GitHub Desktop.
Beim Update von #Nextcloud 19.x auf 20.x müssen einige Datenbankänderugen durchgeführt werden. Bei Shared-Hosting-Anbietern lässt sich das oftmals nicht per occ Kommando in der Shell durchführen. Deshalb hier die nötigen SQL-Kommandos zum ausführen in z.B. #phpmyadmin
# Fehlender Index "cards_abiduri" in der Tabelle "oc_cards".
ALTER TABLE `oc_cards` ADD INDEX `cards_abiduri` (`addressbookid`, `uri`) USING BTREE;
# Fehlender Primärschlüssel auf Tabelle "oc_federated_reshares".
ALTER TABLE `oc_federated_reshares` ADD PRIMARY KEY (`share_id`) USING BTREE;
# Fehlender Primärschlüssel auf Tabelle "oc_systemtag_object_mapping".
ALTER TABLE `oc_systemtag_object_mapping` ADD PRIMARY KEY (`objecttype`, `objectid`, `systemtagid`) USING BTREE;
# Fehlender Primärschlüssel auf Tabelle "oc_comments_read_markers".
ALTER TABLE `oc_comments_read_markers` ADD PRIMARY KEY (`user_id`, `object_type`, `object_id`) USING BTREE;
#Fehlender Primärschlüssel auf Tabelle "oc_collres_resources".
ALTER TABLE `oc_collres_resources` ADD PRIMARY KEY (`collection_id`, `resource_type`, `resource_id`) USING BTREE;
# Fehlender Primärschlüssel auf Tabelle "oc_collres_accesscache".
ALTER TABLE `oc_collres_accesscache` ADD PRIMARY KEY (`user_id`, `collection_id`, `resource_type`, `resource_id`) USING BTREE;
# Fehlender Primärschlüssel auf Tabelle "oc_filecache_extended".
ALTER TABLE `oc_filecache_extended` ADD PRIMARY KEY (`fileid`) USING BTREE;
# Einige Spalten in der Datenbank können mit folgendem SQL zu big int konvertiert werden (SQL-Ersatz für 'occ db:convert-filecache-bigint'):
# - federated_reshares.share_id
# - share_external.id
# - share_external.parent
ALTER TABLE `oc_federated_reshares` CHANGE `share_id` `share_id` BIGINT(20) NOT NULL;
ALTER TABLE `oc_share_external` CHANGE `id` `id` BIGINT(20) NOT NULL AUTO_INCREMENT;
ALTER TABLE `oc_share_external` CHANGE `parent` `parent` BIGINT(20) NULL DEFAULT '-1';
@MUWalter
Copy link

Hallo Andreas, vielen Dank für die Codes, funktionieren die auch beim Update von 20.x auf 21.x?

@andreas-becker
Copy link
Author

Hab ich bisher noch nicht getestet.

@MUWalter
Copy link

MUWalter commented May 28, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment