Database PHP API ignoriert WCF_N

  • Affected Version
    WoltLab Suite 5.4
    Affected App
    WoltLab Suite Core

    Ein Kunde von mir betreibt seine Installation mit WCF_N = 2. Der Marktplatz kann in der aktuellen Version nach der Installation nicht genutzt werden, weil die benötigten Tabellen (z.B. marketplace2_entry nicht vorhanden sind. Während der Installation werden die Tabellen unter marketplace1_* angelegt, d.h. sie werden vom Setup offensichtlich unter WCF_N angelegt. Der Setup benutzt die neue Datenbank API mit folgendem Schema:

    Code
    DatabaseTable::create('marketplace1_entry')

    Soweit ich es richtig gesehen habe, wird in https://github.com/WoltLab/WCF/bl….class.php#L249 prepareStatement anstelle vonprepare benutzt, d.h. WCF_N wird nicht korrekt gesetzt. (Kann sein, dass es davor irgendwo gemacht wird, habe es jetzt nicht debugged).

    Entweder die API unterstützt WCF_N nicht korrekt oder die Doku müsste angepasst werden, weil auch hier foo1_ und nicht foo1".WCF_N."_ verwendet wird.

  • Hallo,

    es existiert eine entsprechende Logik:

    WCF/DatabaseTable.class.php at 05a9dc0f6bd97124d8c00bcc29fa841f4ffa2761 · WoltLab/WCF
    WoltLab Suite Core (previously WoltLab Community Framework) - WCF/DatabaseTable.class.php at 05a9dc0f6bd97124d8c00bcc29fa841f4ffa2761 · WoltLab/WCF
    github.com

    Denkbar ist, dass bei der Installation einer App die notwendigen Informationen zum Zeitpunkt der Installation noch nicht zur Verfügung stehen.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!