Neues Feld für oxactions - Unknown column 'oxv_oxactions_de.test' in 'field list'

Hallo zusammen,

ich versuche gerade ein neues Feld für oxactions fpr den Adminberiech anzulegen und erhalte nun leider eine Fehlermeldung bei Aufruf von “Kundeninformation - Aktionen verwalten” im Adminbereich:

[13 Dec 13:50:08.299181 2017] [exception] [type OxidEsales\Eshop\Core\Exception\DatabaseErrorException] [code 1054] [file C:\development\webroot\myshop\app\vendor\oxid-esales\oxideshop-ce\source\Core\Database\Adapter\Doctrine\Database.php] [line 947] [message Unknown column ‘oxv_oxactions_de.test’ in ‘field list’]

Ich habe bisher folgendes getan. Anlegen des Feldes in der DB:

ALTER TABLE `myshop`.`oxactions` ADD COLUMN `TEST` VARCHAR\(45\) NULL DEFAULT '' AFTER `OXTIMESTAMP

Achtung, im Query oben musst ich VARCHAR die Klammern escapen. Ich habe keine Ahnung warum das Forum das hinzufügen von Klammern nicht erlaubt.

Zusätzlich habe ich das neue Feld im Formular von source/Application/views/admin/tpl/actions_main.tpl hinzufgefügt:

    <tr>
        <td class="edittext" width="120">
            Test
        </td>
        <td class="edittext">
            <input type="text" class="editinput" size="32" maxlength="[{$edit->oxactions__test->fldmax_length}]" name="editval[oxactions__test]" value="[{$edit->oxactions__test->value}]" [{$readonly}] [{$disableSharedEdit}]>
            [{oxinputhelp ident="HELP_GENERAL_NAME"}]
        </td>
    </tr>

Ich nutze OXID 6 v1.0.0. Ich habe TMP bereits mehrfach gelöscht und auch einen Login/Logout probiert. Leider alles ohne erfolg. Habe ich Etwas vergessen anzupassen?

Views aktualisieren sollte helfen.

1 Like

@rubbercut vielen Dank!

Für alle mit dem gleichen Problem. hier die Lösung:

Im Adminbereich unter “Service - Tools” den Button “VIEW jetzt updaten” klicken.

falls du ein Modul machst, kannst du diesen Code im onActivate Event ausführen lassen:

$oMetaData = oxNew(\OxidEsales\Eshop\Core\DbMetaDataHandler::class);
$oMetaData->updateViews();

Leider ist sowas in der EE bei z.b 26 shops und 23 Sprachen ein regelrechter showstopper. Bitte prüft die edition vorher :wink: achja begründung…
Oxid iteriert durch alle shops alle sprachen - ob benutzt oder nicht.
Bei den oben genannten Zahlen sind das 598 Views mal der Anzahl der in Views gehaltenen Tabellen. Kann man aber fixen :wink:
Gruss
Marcel

@mws_1941 was hat das mit dem Thema zu tun?

Ganz einfach :slight_smile: vanilla_thunder hat vorgeschlagen, das generieren der Views mit in die Activate Routine zu nehmen. Dass heisst dann werden bei einem “Aktivieren” von dem Modul mal eben >10.000 Views neu gebaut.
Das kann dauern :slight_smile:
Somit sage ich nur - wenn man ein Modul schreibt, sollte man auch die Edition abfragen, in der es eingesetzt wird.
Gruss
Marcel

i have the same issue :frowning:

refresh views didn’t help me.

Tmp cleared?

Thanks for answer. I fixed this. I tried to make ajax controller (extends ListComponentAjax) and i didn’t create _getQuery() method in controller.