MetaInfo - Media - Standardfelder erzeugt in der Migrationsdatei einen SQL Fehler
Generierte Migration
rex_sql_table::get('rex_media')
->ensureColumn(new rex_sql_column('med_description', 'text', true, '\'\'', null), 'med_focuspoint')
->ensureColumn(new rex_sql_column('med_copyright', 'text', true, '\'\'', null), 'med_description')
->alter();
Dies Part '\'\'' schlägt fehl
Lösung: Migrationsdatei direkt anpassen und nochmals deployen.
Das Grundproblem wurde im metainfo-Addon behoben: https://github.com/redaxo/redaxo/pull/3270
Wenn das Problem bei schon bestehenden Seiten auftritt:
- Default-Wert in den Spalten entfernen, bzw. auf
NULLsetzen - Nochmal Diffen
- So sollte es sich dann auf allen Instanzen normalisieren und angleichen (egal ob MySQL oder MariaDB)
Wir hatten hier eben dieses Problem
Via YForm hatte Robert ein Feld angelegt. Nach dem Diff erschien das in der Migration:
->ensureColumn(new rex_sql_column('statement', 'text', false, '\'\'', null), 'search')
Nach meiner Migration und einem weitere Diff erschien das in einer neuen MIgrationsdatei:
->ensureColumn(new rex_sql_column('statement', 'text', false, '\'\\\'\\\'\'', null))
Ich habe mir das nochmal angeschaut. Es ist denke ich doch ein Bug im Core in rex_sql_table, aber gleichzeitig leider schwer zu fixen ohne BC-Probleme.
Bin mir noch nicht sicher, was ich da mache.
Solange das Problem besteht, gilt sinngemäß was ich oben für die Metafelder geschrieben habe. Also am besten den Default-Wert von den TEXT-Feldern entfernen.
Mir ist das in der letzten Zeit nicht mehr begegnet, dir @tyrant88 ? Lag das an den unterschiedlichen MySQL/MariaDB-Versionen die wir inzwischen wieder angeglichen haben?
Es passierte ja bei uns auch, weil du mit MariaDB neue Felder angelegt hattest. Das hast du wohl nichit mehr getan seitdem. Oder eben kein MariaDB mehr benutzt in deinen Projekten. Oder immer mit Maria auch bei deinem Hoster.