Ankündigung

Einklappen
Keine Ankündigung bisher.

Standard-API Import läuft »erfolgreich« durch, schreibt aber keine einzige Zeile

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Standard-API Import läuft »erfolgreich« durch, schreibt aber keine einzige Zeile

    Hi!

    Ich komme bei einem Import über die CustomCatalog-Standard-API nicht weiter und habe alles Naheliegende bereits ausgeschlossen. Vielleicht kennt jemand das Verhalten.

    Ziel: Import einer CSV-Datei in einen Katalog (eigene Tabelle cc_kuenstler).

    Umgebung
    • Contao: 5.3
    • Eclipse/CustomCatalog: Version 6.2
    • Hosting: IONOS, MariaDB
    Konfiguration der API-Anbindung (Standard-API, Modus Import)
    • Quelle: Datei, CSV, Trennzeichen Semikolon
    • Schlüsselfeld: name / Schlüsselfeld in Quelle: name
    • Neue Einträge anlegen: AN
    • Einträge updaten: AUS, Einträge löschen: AUS, Tabelle vor Import leeren: AUS
    • Maximale Anzahl an Einträgen: 30 (bei 20 [Test]-Datenzeilen)
    Jobs
    • Je ein »Feld-Aktion → Wert aus Datenquelle« für name, geburtsort, geboren, todesort, todesdatum (Quellspalten sind im Dropdown korrekt sichtbar und namensgleich)
    • »Fixer Wert«: publish = 1
    • »Fixer Wert«: tstamp = `{{date::U}}`
    Das Problem: Der Import läuft komplett durch, der Report ist grün und listet alle 20 Datensätze korrekt mit Namen auf (»Import abgeschlossen«). Trotzdem bleibt cc_kuenstler leer – im Backend wie in phpMyAdmin.

    Was ich bereits ausgeschlossen habe
    • Ein manueller INSERT INTO cc_kuenstler (name) VALUES ('Test') funktioniert sofort → Tabelle/Rechte/Strict-Mode sind es nicht.
    • Die CSV wird korrekt gelesen (Namen erscheinen im Report als Schlüssel).
    • Die Feld-Zuordnung stimmt (Quell- und Zielspalten namensgleich, zusätzlich explizite »Wert aus Datenquelle«-Jobs).
    • »Tabelle vor Import leeren« ist AUS, es kann also nichts nachträglich gelöscht werden.
    • »Maximale Anzahl = 0 (Alle)« verarbeitet gar nichts (leerer Report `data-index: 0`); mit festem Wert (30) werden alle 20 Zeilen im Report verarbeitet.
    Ich habe die Tabelle per TRUNCATE geleert (Auto_increment damit auf 1) und danach den Import laufen lassen. SHOW TABLE STATUS LIKE 'cc_kuenstler' zeigt anschließend weiterhin Auto_increment = 1. Es wird also kein einziger INSERT abgesetzt – obwohl der Report Erfolg meldet.

    Warum meldet die Standard-API einen erfolgreichen Import, ohne jemals einen INSERT auszuführen? Gibt es dazu ein bekanntes Problem (evtl. PHP-8-Kompatibilität der Schreib-Routine)? Und wo genau protokolliert die API interne Schreibfehler – im Contao-System-Log finde ich nichts Auffälliges. »Bei Fehler« steht auf »nur protokollieren«.

    Über Hinweise, wo ich ansetzen kann, wäre ich sehr dankbar.

    Viele Grüße
    Markus

  • #2
    Hallo,
    lass das Schlüsselfeld einmal leer bzw. prüfe, dass dort keine Numerischen Werte drinstehen.
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Hi! Auch hier läuft der Import durch, der Katalog bleibt jedoch leer.

      Kommentar


      • #4
        Die Schlüsselfeld-Prüfung kann bei einer Stückelung zu falschen Quelldaten führen. Das varriert von Quelle zu Quelle. Idealerweise alle Einträge auf einmal importieren lassen und kein Schlüsselfeld angeben.

        Bei einem leeren Schlüsselfeld passt der Import einer CSV. Testweise habe ich den Test-CC exportiert, damit die Felder passen.
        http://www.premium-contao-themes.com

        Kommentar

        Lädt...
        X