Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Upgrading nextcloud from 29.0.6.1 to 30.0.4.1: Foreign key name "device_id" for table "oc_uppush_applications" collides with the constraint on table "oc_uppush_applications" #486

Closed
1 task done
flurmind opened this issue Dec 19, 2024 · 6 comments

Comments

@flurmind
Copy link

flurmind commented Dec 19, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

I get an error when updating:
`Initializing nextcloud 30.0.4.1 (this can take a while) ...

Upgrading nextcloud from 29.0.6.1 ...

Setting permissions

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

Setting log level to debug

Updating database schema

Updated database

InvalidArgumentException: Foreign key name "device_id" for table "oc_uppush_applications" collides with the constraint on table "oc_uppush_applications".

Update failed

Maintenance mode is kept active

Resetting log level

Initializing finished

**** perl5 already installed, skipping ****

[custom-init] No custom files found, skipping...

[ls.io-init] done.`

After executing the occ upgrade command from the container console, the same error:
occ upgrade 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 Setting log level to debug Updating database schema Updated database InvalidArgumentException: Foreign key name "device_id" for table "oc_uppush_applications" collides with the constraint on table "oc_uppush_applications". Update failed Maintenance mode is kept active Resetting log level

Expected Behavior

No response

Steps To Reproduce

1.Down in omv6
2.Pull in omv6
3.Up in omv6

Environment

- OS: Debian 11
- How docker service was installed: OMV6

CPU architecture

x86-64

Docker creation

services:
  nextcloud:
    image: lscr.io/linuxserver/nextcloud:latest
    container_name: nextcloud
    environment:
      - PUID=1000 #change PUID if needed
      - PGID=106  #change PGID if needed
      - TZ=Europe/Balaklava #change Time Zone if needed.
      #- IMAGINARY_HOST=imaginary_nextcloud
      - REDIS_HOST=redis_nextcloud
      - NEXTCLOUD_URL=https://localhost
      - DOCKER_MODS=linuxserver/mods:nextcloud-memories #| linuxserver/mods:nextcloud-notify-push 
      #- INSTALL_PACKAGES=libva|libva-intel-driver|intel-media-driver|mesa-va-gallium
    devices:
      - /dev/dri:/dev/dri
    volumes:
      - /srv/ssd/appdata/nextcloud/config:/config #/srv/dev-disk-by-label-disk1 needs to be adjusted
      - /srv/ssd/appdata/nextcloud/big_temp_file:/var/big_temp_file
     # - /srv/ssd/appdata/nextcloud/config/etc/php82:/etc/php82
      - /srv/disk2/NC:/data     #/srv/dev-disk-by-label-disk1 needs to be adjusted
      - /srv/disk2/Foto:/Foto
      - /srv/disk2/books:/books
      - /srv/disk2/Lyrics:/Lyrics
    depends_on:
      - nc-mariadb
      #- imaginary
      - redis
    #ports: # uncomment this and the next line if you want to bypass the proxy
     # - 444:443
    restart: unless-stopped
    
  nc-mariadb:
    image: lscr.io/linuxserver/mariadb:latest
    container_name: nextclouddb
    environment:
      - PUID=1000 #change PUID if needed
      - PGID=106  #change PGID if needed
      - TZ=Europe/Balaklava #change Time Zone if needed
      - MYSQL_ROOT_PASSWORD=mypass  #change password
    volumes:
      - /srv/ssd/appdata/nextcloud/nextclouddb:/config #/var/lib/mysql
    ports:
      - 3306:3306
    restart: unless-stopped
    
  redis:
    image: redis
    container_name: redis_nextcloud
    hostname: redis_nextcloud
    ports:
      - 6379:6379
    environment:
      - TZ=Europe/Balaklava
    volumes:
      - /srv/ssd/appdata/redis:/data    #--> needs to be changed to your config
    restart: unless-stopped
    
  #imaginary:
    #image: nextcloud/aio-imaginary:latest
    #container_name: imaginary_nextcloud
    #expose:
      #- "9000"
    #environment:
      #- TZ=Europe/Balaklava #change Time Zone if needed
    #cap_add:
      #- SYS_NICE
    #restart: unless-stopped

  go-vod:
    image: radialapps/go-vod
    container_name: go-vod
    restart: always
    environment:
      - NEXTCLOUD_HOST=https://my.com
      # - NEXTCLOUD_ALLOW_INSECURE=1 # (self-signed certs or no HTTPS)
      - NVIDIA_VISIBLE_DEVICES=all
    devices:
      - /dev/dri:/dev/dri # VA-API (omit for NVENC)
    volumes:
      - /srv/ssd/appdata/nextcloud/config:/var/www/html:ro
      - /srv/disk2/Foto:/Foto
      - /srv/disk2/books:/books
    # runtime: nvidia # (NVENC)
    depends_on:
      - nextcloud
      
networks:
  default:
    name: npm
    external: true

Container logs

[mod-init] Running Docker Modification Logic
[mod-init] Adding linuxserver/mods:nextcloud-memories to container
[mod-init] Downloading linuxserver/mods:nextcloud-memories from lscr.io
[mod-init] Installing linuxserver/mods:nextcloud-memories
[mod-init] linuxserver/mods:nextcloud-memories applied to container
[migrations] started
[migrations] 01-nginx-site-confs-default: skipped
[migrations] 02-default-location: skipped
[migrations] done
───────────────────────────────────────
      ██╗     ███████╗██╗ ██████╗
      ██║     ██╔════╝██║██╔═══██╗
      ██║     ███████╗██║██║   ██║
      ██║     ╚════██║██║██║   ██║
      ███████╗███████║██║╚██████╔╝
      ╚══════╝╚══════╝╚═╝ ╚═════╝
   Brought to you by linuxserver.io
───────────────────────────────────────
To support LSIO projects visit:
https://www.linuxserver.io/donate/
───────────────────────────────────────
GID/UID
───────────────────────────────────────
User UID:    1000
User GID:    106
───────────────────────────────────────
Linuxserver.io version: 30.0.4-ls357
Build-date: 2024-12-17T11:51:06+00:00
───────────────────────────────────────
    
using keys found in /config/keys
Initializing nextcloud 30.0.4.1 (this can take a while) ...
Upgrading nextcloud from 29.0.6.1 ...
Setting permissions
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
Setting log level to debug
Updating database schema
Updated database
InvalidArgumentException: Foreign key name "device_id" for table "oc_uppush_applications" collides with the constraint on table "oc_uppush_applications".
Update failed
Maintenance mode is kept active
Resetting log level
Initializing finished
**** Adding perl5 and its deps to package install lists ****
[pkg-install-init] **** Installing all mod packages ****
fetch http://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz
(1/4) Installing perl (5.38.2-r0)
(2/4) Installing perl-error (0.17029-r2)
(3/4) Installing perl-git (2.45.2-r0)
(4/4) Installing git-perl (2.45.2-r0)
Executing busybox-1.36.1-r29.trigger
OK: 362 MiB in 321 packages
[custom-init] No custom files found, skipping...
[ls.io-init] done.
Copy link

Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.

@j0nnymoe
Copy link
Member

Please provide your docker compose.

@flurmind
Copy link
Author

I tried the update:
29.0.6.1 > 29.0.7.1 - it's okay.
29.0.7.1 > 30.0.0.14 - the same broblem

@flurmind
Copy link
Author

This error is in the database and I need to reset the oc_uppush_applications table, but I can't access the database, it says wrong password.
I tried all users and passwords: root and password from docker-compose, local user.

docker exec -it nextclouddb mysql -u root -p

LOG

root@nas:~# docker exec -it nextclouddb mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

@flurmind
Copy link
Author

I found the reason: I lost my database password. How can I reset it?
I'm trying to add in my docker compose file:
command: --skip-grant-tables
But the DB container won't start.

@aptalca
Copy link
Member

aptalca commented Dec 23, 2024

our mariadb does not accept command directive
linuxserver/docker-mariadb#97

@LinuxServer-CI LinuxServer-CI moved this from Issues to Done in Issue & PR Tracker Dec 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

3 participants