i run nextcloud on docker on my synology nas for quite some time.
I configured watchtower to get the latest update of nextcloud and everything worked fine from nextcloud 14 to 15 to 16 until friday, when watchtower tried to get 16.0.1.
Now nextloud is on maintenance mode.
When i turn maintanence mode off i get the update screen to 16.0.1
When i login in via putty an try to occ upgrade i get the following message:
Set log level to debug
Turned on maintenance mode
Updating database schema
Doctrine\DBAL\Exception\DriverException: An exception occurred while executing 'DELETE FROM `oc_collres_accesscache`':
SQLSTATE[42S02]: Base table or view not found: 1932 Table 'nextcloud.oc_collres_accesscache' doesn't exist in engine
Maintenance mode is kept active
Reset log level
The Table does exist in my Database, i hope somebody can help me.
I solved the issue.
I really dont know what the problem was.
It seemed my database had a bad table oc_collres_accesscache.
I do a database and data backup every day an restored different databases, but the tables seemed to be broken for some time.
After droping the table via mysql an deleting the remaining .ibd file i created the table via mysql:
CREATE TABLE oc_collres_accesscache (user_id VARCHAR(64) NOT NULL, collection_id BIGINT DEFAULT 0, resource_type VARCHAR(64) DEFAULT '', resource_id VARCHAR(64) DEFAULT '', access SMALLINT DEFAULT 0 NOT NULL, UNIQUE INDEX collres_unique_user (user_id, collection_id, resource_type, resource_id), INDEX collres_user_res (user_id, resource_type, resource_id), INDEX collres_user_coll (user_id, collection_id));
After creating the table Nextlcloud did the update. Now everything works fine for the moment.
Maybe someone can comment on the creating of the table i just copied the Syntax i found here:
Nextcloud update 16.0.1 failed
Hope this helps