Update von 17 auf 18 fehlgeschlagen -> oc_flow_operations

Bei welchen Anbieter? UBERSPACE

  • Datenbank-Client Version: libmysql - mysqlnd 7.4.11

  • PHP-Erweiterung: mysqli

  • PHP-Version: 7.4.11

  • Server-Typ: MariaDB

  • Server-Version: 10.3.22-MariaDB - MariaDB Server

  • Protokoll-Version: 10

  • Bei was für einer Aktion ist der Fehler aufgetreten?

Update von 17 auf 18 erhalte ich folgenden Fehler:

Aktualisierung auf 18.0.10
InvalidArgumentException: Column name “oc_flow_operations”.“entity” is NotNull, but has empty string or null as default.

Detaillierte Protokollmeldungen
Update vorbereiten

Log-Level auf “debug” gesetzt

Wartungsmodus eingeschaltet

Reparaturschritt: Repair MySQL collation

Reparaturinformation: Not a mysql database -> nothing to do

Reparaturschritt: Repair SQLite autoincrement

Reparaturschritt: Copy data from accounts table when migrating from ownCloud

Reparaturschritt: Drop account terms table when migrating from ownCloud

Das Datenbankschema wird aktualisiert

Datenbank aktualisiert

InvalidArgumentException: Column name “oc_flow_operations”.“entity” is NotNull, but has empty string or null as default.

Das Update ist fehlgeschlagen. Bitte melden Sie dieses Problem an die Nextcloud Community.

im terminal sieht das so aus:
Set log level to debug
Turned on maintenance mode
Updating database schema
Updated database
Updating …
InvalidArgumentException: Column name “oc_flow_operations”.“entity” is NotNull, but has empty string or null as default.
Update failed
Maintenance mode is kept active
Reset log level

Gut das es Suchfunktionen gibt um Antworten auf Fragen zu erhalten - man(n) muss sie nur nutzen :wink:

2 Likes

Danke für den Hinweis, hat bei mir leider nicht funktioniert
Ich habe folgendes versucht:

[gsp]$ mysql -u gsp -p
Enter password: xxxxx
Welcome to the MariaDB monitor. Commands end with ; or \g.
Server version: 10.3.22-MariaDB MariaDB Server
Copyright © 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

MariaDB [(none)]> gsp
-> ALTER TABLE oc_flow_operations ADD COLUMN entity VARCHAR NOT NULL;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘gsp
ALTER TABLE oc_flow_operations ADD COLUMN entity VARCHAR NOT NULL’ at line 1
MariaDB [(none)]> alter table oc_flow_operations add column entity character varying(256) not null;

MariaDB [(none)]> gsp
-> alter table oc_flow_operations add column entity character varying(256) not null;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'gsp
alter table oc_flow_operations add column entity character varying(256) not ’ at line 1
MariaDB [(none)]>

Sorry, ich habe leider kein Plan von MariaDB

no comment << :wink: Ohne es jetzt selbst durchgeführt zu haben würde ich folgende Vorgehensweise empfehlen:

  1. Anmelden an der Datenbank: [gsp]$ mysql -u gsp -p
  2. Anzeigen der existierenden Datenbanken: show databases;
  3. Wechsel zur gewünschten Datenbank, z.B. “nextcloud”: use nextcloud;
  4. Anzeigen der existierenden Tabellen: show tables;
  5. Befehl ausführen: alter table oc_flow_operations add column entity character varying(256) not null;
  6. Datenbank-Konsole verlassen: quit

Leider nicht erfolgreich

[gsp@brorsen ~]$ mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.

MariaDB [(none)]> show databases;
±-------------------+
| Database |
±-------------------+
| gsp |
| information_schema |
±-------------------+
2 rows in set (0.027 sec)

MariaDB [(none)]> use gsp;
Database changed
MariaDB [gsp]> show tables;
Empty set (0.000 sec)

MariaDB [gsp]> alter table oc_flow_operations add column entity character varyin g(256) not null;
ERROR 1146 (42S02): Table ‘gsp.oc_flow_operations’ doesn’t exist

MariaDB [(none)]> use information_schema;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [information_schema]> show tables;
±--------------------------------------+
| Tables_in_information_schema |
±--------------------------------------+
| ALL_PLUGINS |
| APPLICABLE_ROLES |
| CHARACTER_SETS |
| CHECK_CONSTRAINTS |
| COLLATIONS |
| COLLATION_CHARACTER_SET_APPLICABILITY |
| COLUMNS |
| COLUMN_PRIVILEGES |
| ENABLED_ROLES |
| ENGINES |
| EVENTS |
| FILES |
| GLOBAL_STATUS |
| GLOBAL_VARIABLES |
| KEY_CACHES |
| KEY_COLUMN_USAGE |
| PARAMETERS |
| PARTITIONS |
| PLUGINS |
| PROCESSLIST |
| PROFILING |
| REFERENTIAL_CONSTRAINTS |
| ROUTINES |
| SCHEMATA |
| SCHEMA_PRIVILEGES |
| SESSION_STATUS |
| SESSION_VARIABLES |
| STATISTICS |
| SYSTEM_VARIABLES |
| TABLES |
| TABLESPACES |
| TABLE_CONSTRAINTS |
| TABLE_PRIVILEGES |
| TRIGGERS |
| USER_PRIVILEGES |
| VIEWS |
| GEOMETRY_COLUMNS |
| SPATIAL_REF_SYS |
| CLIENT_STATISTICS |
| INDEX_STATISTICS |
| INNODB_SYS_DATAFILES |
| USER_STATISTICS |
| INNODB_SYS_TABLESTATS |
| INNODB_LOCKS |
| INNODB_MUTEXES |
| INNODB_CMPMEM |
| INNODB_CMP_PER_INDEX |
| INNODB_CMP |
| INNODB_FT_DELETED |
| INNODB_CMP_RESET |
| INNODB_LOCK_WAITS |
| TABLE_STATISTICS |
| INNODB_TABLESPACES_ENCRYPTION |
| INNODB_BUFFER_PAGE_LRU |
| INNODB_SYS_FIELDS |
| INNODB_CMPMEM_RESET |
| INNODB_SYS_COLUMNS |
| INNODB_FT_INDEX_TABLE |
| INNODB_CMP_PER_INDEX_RESET |
| user_variables |
| INNODB_FT_INDEX_CACHE |
| INNODB_SYS_FOREIGN_COLS |
| INNODB_FT_BEING_DELETED |
| INNODB_BUFFER_POOL_STATS |
| INNODB_TRX |
| INNODB_SYS_FOREIGN |
| INNODB_SYS_TABLES |
| INNODB_FT_DEFAULT_STOPWORD |
| INNODB_FT_CONFIG |
| INNODB_BUFFER_PAGE |
| INNODB_SYS_TABLESPACES |
| INNODB_METRICS |
| INNODB_SYS_INDEXES |
| INNODB_SYS_VIRTUAL |
| INNODB_TABLESPACES_SCRUBBING |
| INNODB_SYS_SEMAPHORE_WAITS |
±--------------------------------------+
76 rows in set (0.001 sec)

MariaDB [information_schema]> alter table oc_flow_operations add column entity c haracter varying(256) not null;
ERROR 1044 (42000): Access denied for user ‘gsp’@’%’ to database ‘information_sc hema’

Ich bezweifele, dass Deine Nextcloud-Datenbank “gsp” heißt, da diese keinerlei Tabellen enthält. Ich denke dort liegt die Problemursache begründet. Stelle erst einmal fest in welcher Datenbank Nextcloud seine Daten ablegt, dann kann man weitersehen.

@rastics, die Infos über deine Datenbank findest du in der config.php

Bei meiner Installation in /var/www/nexcloud/config

dort steht bei mir unter ‘dbtype’=‘pgsql’
und unter ‘dbname’=‘nextcloud_db’

habe leider den selben Fehler. bei mir scheitert es am Zugriff auf die Datenbank, angeblich falscher User, oder falsches KW.

‘dbtype’ => ‘sqlite3’,
‘version’ => ‘17.0.10.1’,
‘dbname’ => ‘gsp’,
‘dbhost’ => ‘127.0.0.1:3307’,
‘dbport’ => ‘’,
‘dbtableprefix’ => ‘oc_’,
‘installed’ => true,
‘maintenance’ => false,

ich benutze nextcloud nur für meinen Kalender und meine Kontakte, auch beruflich
weil ich GOOGLE dies nicht vertrauen wollte.
Ein aktuelles Backup von der VCF und ICS Datei habe ich.

Du hast als Datenbank “sqlite3” ausgewählt, wobei es sich um eine Datei-basierte Datenbank handelt, die nicht über eine Netzwerkschnittstelle angesprochen werden kann. D.h. die in der Konfiguration folgende dbhost-Angabe ist in diesem Fall ohne Funktion.

Die SQLite3-Datenbankdatei findet sich üblicherweise im data-Verzeichnis Deiner Installation und wird vermutlich gsp.db heißen. Schau einmal, ob Du eine solche Datei findest. Falls ja, müssen die Datenbankbefehle angepasst werden, da diese der MySQL/MariaDB-Syntax entsprechen.

@j-ed: vielen Dank für dein Verständnis meiner absoluten Unwissenheit

ja, im Verzeichnis nextcloud_data gibt es die Datei "gsp.db

Wie mach ich das?

So könnten die Befehle aussehen (ungetestet) :wink:

  1. Öffnen der Datenbank: sqlite3 ./gsp.db
  2. Anzeigen der existierenden Tabellen: .tables
  3. Anzeigen des Tabellenaufbaus: .schema oc_flow_operations
  4. Befehl ausführen: alter table oc_flow_operations add column entity character varying(256) not null;
  5. Anzeigen des Tabellenaufbaus: .schema oc_flow_operations
  6. Datenbank-Konsole verlassen: .quit

Ok das hat funktioniert, doch nun kommt gleich der nächste Fehler

Doctrine\DBAL\DBALException: Unknown database type character varying requested, OC\DB\OCSqlitePlatform may not support it.

Da kann ich Dir jetzt nicht weiterhelfen, da ich selbst keine SQLite-Datenbank verwende. Ich gehe davon aus, dass SQLite3 den Ausdruck “**character varying(256)*” nicht versteht und der Befehl deshalb geringfügi modifiziert werden muss.

Vielleicht findet sich hier ja noch ein SQLite-Datenbank-Nutzer, der einmal das Tabellenschema von “oc_flow_operations” hier postet.

ich denke für die sqlite Datenbank wäre folgender Befehl besser gewesen:

ALTER TABLE oc_flow_operations ADD COLUMN entity VARCHAR;

leider bekomme ich nun folgenden Meldung:

Error: duplicate column name: entity

Kann mir ein SQLite-Datenbank-Nutzer hier helfen???

Vielleicht helfen Dir diese Informationen weiter:


https://stackoverrun.com/de/q/1473609

OK Nextcloud funktioniert wieder
Danke an j-ed für den suport
hier mein Lösungsweg:

nur für Datenbank: SQLite
Ort der Datenbank suchen: z.B /Data oder /nextcloud_data
DB auf Rechner laden
DB in einem DB Browser wie DB Browser for SQLite öffnen

Im DB-Browser für SQLite:

  1. Registerkarte „Datenbankstruktur“
  2. Tabelle oc_flow_operations wählen
  3. die Spalte, entity wählen
  4. Klick auf Feld und tragen Sie VARCHAR ein und dann auf OK

DB wieder hochladen.

zack-bum-fertig

1 Like

@j-ed suche immer noch nach einer Lösung für pgsql.
Vielleicht ne Idee?

Danke und Gruß

I’m personally not using PostgreSQL but as usual you will find information about the command syntax on the internet. At first I would expect that the “alter table” command works as expected.

Ich habe nach diesem Drama etwas Angst von V18 auf V19 zu updaten. Sollte man auf V19 oder V20 updaten?

unbedingt KEINE Majorversion überspringen!

Und mach vor dem Upgraden ein Backup. (Ich würde Dir auch noch empfehlen von SQLite wegzugehen)