Nextcloud version (eg, 20.0.5): 21.0
Operating system and version (eg, Ubuntu 20.04): MacOS Big Sur
Apache or nginx version (eg, Apache 2.4.25): 2.4.46
PHP version (eg, 7.4): 7.4.15
The issue you are facing:
When I convert DB (in this case: from Postgresql to MariaDB) I get error message In QuoteHelper.php line 62: Only strings, Literals and Parameters are allowed
Is this the first time you’ve seen this error? (Y/N): Y
Steps to replicate it:
php occ db:convert-type --clear-schema mysql <myuser> 127.0.0.1 <mydb>
What is the database password?
Clearing schema in new database
Creating schema in new database
The following tables will not be converted:
oc_audioplayer_genre
...
oc_retention
oc_users_external
Please note that tables belonging to available but currently not installed apps
can be included by specifying the --all-apps option.
Continue with the conversion (y/n)? [n] y
oc_accounts
0/2 [>---------------------------] 0%
In QuoteHelper.php line 62:
Only strings, Literals and Parameters are allowed
Stack trace shows that instance of Doctrine\DBAL\Schema\Column
is passed to quoteColumnName($string)
.
As quick workaround I added to QuoteHelper.php
(line 57):
if ($string instanceof \Doctrine\DBAL\Schema\Column) {
return $string->getName();
}