Datenbank Fehler. Bitte sehen Sie in der Datei suitecrm.log nach

Beim Anlegen eines neuen Feldes ist dieser Fehler aufgetreten.
“Datenbank Fehler. Bitte sehen Sie in der Datei suitecrm.log nach.“
Gibt es eine maximal Anzahl an Felder die man anlegen kann oder wieso kommt dieser Fehler?

Hi,
um hier die Ursache zu isolieren: Welche Suite-, MySQL- und PHP-Version werden aktuell verwendet? Wie lautet die genaue Fehlermeldung die in der Datei suitecrm.log ausgegeben wird?

Version 7.11.18
Sugar Version 6.5.25 (Build 344)

Hilft das?

Hi,
nein, das Popup sagt ja bereits aus, dass die genaue Fehlermeldung in der Log-Datei steht. Diese Meldung wäre interessant.
Ferner ist die Frage nach MySQL- und Suite-Version auch noch offen. Hier ist zwingend darauf zu achten, dass diese zueinander passen, andernfalls sind Fehler aller Art (einschließlich diesem) zu erwarten.

Ich weiss nicht wie ich in die Log-Datei komme!!

Suite-Version: 7.11.18 (habe ich oben schon geschrieben)
Wo ich Angaben zur MySQL-Version finde, weiss ich nicht!!

Hi,
beides kann über die Diagnose ermittelt werden, dazu im Admin-Bereich erst “Diagnose Tool” wählen, dann die Checkboxen für “MySQL - Generelle Informationen” und “SuiteCRM Log Datei” setzen. Im Download sind dann beide Dateien enthalten.
Das Log bitte nicht vollständig hier posten - am einfachsten ist es, den Fehler erneut auszulösen und dann direkt zu exportieren - so ist die relevante Meldung relativ weit unten zu finden (da recht aktuell).

Ok, also dass kam jetzt dabei raus:

MySQLi Version: mysqlnd 5.0.12-dev - 20150407 - $Id: 3591daad22de08524295e1bd073aceeff11e6579 $

Was genau vom Log soll ich schicken?

Mon Mar 15 13:09:03 2021 [12044][d57c32ff-d4e7-ba3c-265b-5e99a7b0215c][FATAL] SugarBean::populateDefaultValues $field_defs should be an array
Mon Mar 15 13:53:59 2021 [12044][c2ac38ab-74aa-c97f-907a-5e86f532a219][FATAL] Mysqli_query failed.
Mon Mar 15 13:53:59 2021 [12044][c2ac38ab-74aa-c97f-907a-5e86f532a219][FATAL] Cannot create column Query Failed: ALTER TABLE accounts_cstm add COLUMN textneu_c varchar(255) NULL : MySQL error 1118: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
Mon Mar 15 13:53:59 2021 [12044][c2ac38ab-74aa-c97f-907a-5e86f532a219][FATAL] Exception handling in /var/www/crm.ci-1.de/include/MVC/Controller/SugarController.php:400
Mon Mar 15 13:53:59 2021 [12044][c2ac38ab-74aa-c97f-907a-5e86f532a219][FATAL] Exception in Controller: Datenbank Fehler. Bitte sehen Sie in der Datei suitecrm.log nach.
Mon Mar 15 13:53:59 2021 [12044][c2ac38ab-74aa-c97f-907a-5e86f532a219][FATAL] backtrace:
#0 /var/www/crm.ci-1.de/include/database/DBManager.php(353): sugar_die(‘Datenbank Fehle…’)
#1 /var/www/crm.ci-1.de/include/database/DBManager.php(328): DBManager->registerError(‘Cannot create c…’, ‘Cannot create c…’, true)
#2 /var/www/crm.ci-1.de/include/database/MysqliManager.php(179): DBManager->checkError(‘Cannot create c…’, true)
#3 /var/www/crm.ci-1.de/modules/DynamicFields/DynamicField.php(657): MysqliManager->query(‘ALTER TABLE acc…’, true, ‘Cannot create c…’)
#4 /var/www/crm.ci-1.de/modules/DynamicFields/templates/Fields/TemplateField.php(594): DynamicField->addFieldObject(Object(TemplateText))
#5 /var/www/crm.ci-1.de/modules/ModuleBuilder/controller.php(399): TemplateField->save(Object(DynamicField))
#6 /var/www/crm.ci-1.de/include/MVC/Controller/SugarController.php(525): ModuleBuilderController->action_SaveField()
#7 /var/www/crm.ci-1.de/include/MVC/Controller/SugarController.php(494): SugarController->do_action()
#8 /var/www/crm.ci-1.de/include/MVC/Controller/SugarController.php(468): SugarController->handle_action()
#9 /var/www/crm.ci-1.de/modules/ModuleBuilder/controller.php(101): SugarController->process()
#10 /var/www/crm.ci-1.de/include/MVC/Controller/SugarController.php(373): ModuleBuilderController->process()
#11 /var/www/crm.ci-1.de/include/MVC/SugarApplication.php(113): SugarController->execute()
#12 /var/www/crm.ci-1.de/index.php(52): SugarApplication->execute()
#13 {main}

Hi,
was genau ist der Eintrag bei "MySQLi Server Info: " (aus den MySQL-Exporten)?

Das klingt nach einer spezifischeren Meldung. Wie viele Attribute/Felder sind denn in dem fraglichen Modul gerade in Verwendung?

Das weiss ich leider nicht, aber eine Menge. Hat es eine Maximum Anzahl die man anlegen kann?

The maximum row size for a given table is determined by several factors

Die max. Zeilen Grösse der Datenbank Mysql/MariaDB hängt von verschiedenen Faktoren ab. Im screenshoot sehe ich ein numerisches Feld mit der max. Grösse 255. Ich schlage vor die max. Grösse der Felder kleiner zu wählen um die gesamte Zeilengrösse zu verkleinern.

Die Felder verkleinern bringt zwar was Luft zum atmen. Mittel- bis langfristig besser wäre aber das Modul (sinnvoll) aufzuspalten.

Hi, vielen Dank! Was meinen Sie mit “das Modul aufzuspalten“? Wie würde das gehen?

Anstelle eines Moduls mit (geratenen) ~200 Feldern könnte man stattdessen überlegen, die Daten anders zu “stückeln”. Konkret bedeutet das, bestehende Felder in neue/andere Module auszulagern und diese mit Relationen an das jetzige Modul anzubinden.
Welche Felder ausgelagert werden können und welche neuen Module benötigt werden ist aber nicht einfach zu beantworten, das hängt vom bestehenden Datenmodell und den Anforderungen ab.