Talk cannot be enabled nor removed

I am using NextCloud on a shared hosting . It works fine, however Talk cannot be enabled. Now I cannot remove it from the installed Apps nor can I enable it. I get the following error:

The column ‘sip_enabled’ on table ‘oc_talk_rooms’ already exists.

However, when checking the MySQL database, there is no ‘oc_talk_rooms’ table.

Any pointers would be much appreciated, Thanks.

Is your objective to enable it? Or to remove it?

Are you sure you are looking at the correct database?

My goal is to enable it first.
The database I have is: mydatabase_nextc65 . I am sure it is the database.

Ok, so there are two things with respect to the database that you want to do;

  1. Verify that your nextcloud/config/config.php is configured to use that database,
  2. Log in to that database via CLI (i.e., mysql -u username -p mydatabase_nextc65) and run SHOW TABLES; to confirm with your own eyes if the table exists. Don’t trust web consoles for the database.

I’m thinking that since it says it exists, it probably does, OR, its in a strange state where it creates it, tries to create it again, fails, and then rolls back (removes it), and you’re probably stuck in database update hell, likely having enabled and then disabled talk at some time in the distant past, and now the migration scripts are failing you.

Probably… what you want to do, is drop all the oc_talk_* tables and then try to enable it. Do yourself a favor though, and back up the database first.

  1. The config.php file points to the right database
  2. You are right I found the *talk tables.
  3. I dropped them, removed the App, reinstalled but the same issue happens.

Very strange. I’m afraid that I can’t think of anything else to try. Hopefully someone else can.

Which Nextcloud / Talk / MySQL versions do you use? Perhaps the MySQL installation is two outdated or not configured in a way that is needed for Talk to work/get installed correctly.

NextCloud 21.0.1,
mysql Version: 5.6.41
PHP Version: 7.4.19
Talk Version: 11.2.1
(Shared Hosting)
NextCloud was installed via Softaculous but it works well so far.

Yes, this is be the problem. You need at least MySQL 8.0. You can find the requirements here:

https://docs.nextcloud.com/server/stable/admin_manual/installation/system_requirements.html#server

Thanks. Sadly the shared hosting will not upgrade to 8 this soon. I will update this thread if there is anything new.

See if they’ll offer you a recent version of MariaDB. Some shared hosting providers will offer a recent version of MariaDB (the true successor to MySQL 5.x) in addition to being stuck with an ancient mysql.

Thanks Larry, I have already asked them what they can do for us. Still waiting for their reply. I will keep you updated on the outcome.