Keine Datenbankmigration bei DCA-Erweiterung des contao-jobs-basic-bundle
Ein Kunde würde gerne Icons zu seinen Stellenanzeigen hinzufügen, wofür ich gerne das Rocksolid Iconpicker Bundle im contao-jobs-basic-bundle einsetzen möchte.
Das DCA wurde entsprechend erweitert.
PHP-Code:
<?php
// contao/dca/tl_plenta_jobs_basic_offer.php
use Contao\CoreBundle\DataContainer\PaletteManipulator;
/* ---- */
/* Icon */
/* ---- */
// Add icon palette
PaletteManipulator::create()
->addLegend('icon_legend', 'settings_legend', PaletteManipulator::POSITION_BEFORE)
->addField('icon', 'icon_legend', PaletteManipulator::POSITION_APPEND)
->applyToPalette('default', 'tl_plenta_jobs_basic_offer')
;
// Add icon field
$GLOBALS['TL_DCA']['tl_plenta_jobs_basic_offer']['fields']['icon'] = [
'inputType' => 'rocksolid_icon_picker',
'eval' => ['iconFont' => 'files/fonts/icons.svg'],
'sql' => "varchar(4) NULL"
];
Das Feld taucht auch im Backend auf, jedoch kann ich die Datenbankmigration im Contao Manager nicht dazu bewegen, das zusätzliche Feld anzulegen. Ich erhalte immer die Meldung: "Keine ausstehenden Migrationen oder Schema-Änderungen gefunden. Deine Datenbank ist auf dem aktuellsten Stand."
Als Gegenprobe habe ich das DCA für tl_page ebenfalls entsprechend ergänzt.
PHP-Code:
<?php
// contao/dca/tl_page.php
use Contao\CoreBundle\DataContainer\PaletteManipulator;
/* ---- */
/* Icon */
/* ---- */
// Add icon palette
PaletteManipulator::create()
->addLegend('icon_legend:hide', 'layout_legend', PaletteManipulator::POSITION_BEFORE)
->addField('icon', 'icon_legend:hide', PaletteManipulator::POSITION_APPEND)
->applyToPalette('regular', 'tl_page')
;
// Add icon field
$GLOBALS['TL_DCA']['tl_page']['fields']['icon'] = [
'inputType' => 'rocksolid_icon_picker',
'eval' => ['iconFont' => 'files/fonts/icons.svg'],
'sql' => "varchar(4) NULL"
];
Das hat die Datenbankmigration auch auf Anhieb erkannt.
Hat jemand eine Idee, warum das bei dem Bundle nicht klappt?
Liste der Anhänge anzeigen (Anzahl: 1)
Ich kann das Datenbankfeld manuell anlegen und die Eingabe im Backend wird auch korrekt gespeichert. Aber im Anschluss will der Contao Manager das natürlich wieder löschen.
Anhang 25878
Wenn es einen Weg gäbe, dass der Contao Manager bzw. Symfony die Spalte bei der Prüfung ignoriert, würde das für den Betrieb vermutlich ausreichen.