Artikel per SQL löschen?

Thema wurde von sirtet, 11. Januar 2021 erstellt.

  1. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.117
    Danke erhalten:
    88
    Danke vergeben:
    88
    #1 sirtet, 11. Januar 2021
    Zuletzt bearbeitet: 12. Januar 2021
    Ich muss für Tests alle Artikel im Shop löschen.
    Das ist ziemlich mühsam manuell, würde das gerne per SQL machen.

    In petra's sql-tipps gibt es dazu etwas, Inaktive Artikel löschen
    https://www.gambio.de/forum/threads/hilfreiche-sql-befehle.20061/

    aber das scheint mir, löscht mehr als was im Admin UI der "löschen" button macht.
    Weiss jemand, was beim löschen im Admin von Artikeln (resp. Kategorien) alles an sql kommandos läuft?

    GELÖST:
    Kai hat unten die Lösung gebracht: Leere CSV importieren...
     
  2. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.692
    Danke vergeben:
    903
    Lass es, das geht schief. Am Löschen von Artikeln hängt viel Logik dran. Du kannst doch alle Artikel in eine Kategorie verschieben und dann die Kategorie löschen.
     
  3. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.117
    Danke erhalten:
    88
    Danke vergeben:
    88
    Naja, kann ich dann das verschieben per sql?
    Sonst ist es ja gleich viel Arbeit wie manuell löschen...

    Bin gerade nicht am Rechner, aber ich denke man kann etwas wie "Set cat-ID = 1" in der prod-to-cat Tabelle?

    Ich mache das in einem Testshop, brauche den ohne Artikel um von VARIO rein replizieren zu können:

    VARIO kann Varianten Artikel mit Attributen importieren, sie werden beim replizieren aber zu Attributen.
    Wenn an den Artikeln nichts ändert, repliziert es nicht. Darum ist die Empfehlung alle Artikel im Shop zu löschen und dann replizieren.
    Aber das muss ich wohl noch viele Male, bis alles fehlerfrei läuft. Momentan gibts noch etliche...

    Darum suche ich eine Automation dazu.
     
  4. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Bist Du sicher?
    ich meine die können nur Eigenschaften übertragen, zumindest werden bei mir keine Attribute angelegt.
     
  5. Kai Stejuhn

    Kai Stejuhn Beta-Held

    Registriert seit:
    26. September 2014
    Beiträge:
    1.409
    Danke erhalten:
    709
    Danke vergeben:
    92
    Du kannst alle Artikel und auch Kategorien löschen, in dem Du eine leere CSV-Datei nimmst und einen Artikelimport startest. dort kannst Du angeben, was vor dem Import passieren soll.

    Z. B. Alle im Shop vorhandenen Artikel unwiderruflich vor dem CSV-Import löschen
    Alle im Shop vorhandenen Kategorien unwiderruflich vor dem CSV-Import löschen

    Wenn das angekreuzt wird, dann sind alle Artikel und alle Kategorien weg. Es kommt dann zwar die Meldung dass kein Artikel übernommen wurde, aber das willst Du ja auch nicht.
     
  6. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.117
    Danke erhalten:
    88
    Danke vergeben:
    88
    Ja. Ist genau wie du sagst. du hast nur das Wort "importieren" abgeschnitten beim Zitieren.
    Der Importer kann die reinnehmen, das hat schon geklappt.
    Aber sie sagen "Attribute geht nicht", weil eben nicht damit weitergearbeitet werden kann.

    Gab noch jede Menge andere Storpersteine, wie EU-Mwst Hardcoded im Importer (bin in CH), Gambio-Versionsabfrage falsch, Herstellername in VARIO max. 20 Zeichen (Ich habe 2 mit mehr), Attribute werden am Anzeige-Namen erkannt statt ID und ich habe/hatte Grösse (Schuhgrösse), Grösse (Kleider) etc.
    Hoffe kommt nicht noch zu viel weiteres.
     
  7. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Oh, den "import" habe ich glatt verschluckt :)

    Ja, da sind einige Dinge auf die man bei der Anbindung aufpassen muss.
    Vor allem beim ersten Übertragen in den Shop, was man ja einmal komplett machen soll.
    Bei mir hat das die IDs der Artikel und Varianten durcheinander gewürfelt.
    Wenn eine Eigenschaft die selbe ID hatte, wie ein Artikel und später in der Liste stand, wurde der Artikel mit den Daten der Eigenschaft überschrieben.
    Ich musste bei allen Varianten die Web-Shop-IDs prüfen und manuell ändern.

    Bei mir sind auch 6x "Motiv" und 4x "Farbe" als Eigenschaft angelegt und ich weiß nicht , welche Eigenschaft jetzt mit welchem Artikel verbunden ist, weil es Überschneidungen gibt.
     
  8. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.117
    Danke erhalten:
    88
    Danke vergeben:
    88
    Hmm, sowas ähnliches sehe ich auch gerade... Kannst du das genauer beschreiben? "später in der liste"??
     
  9. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Beispiel:
    Der Artikel A hat die ID 123 und steht oben in der Übertragungsliste.
    Artikel M hat die ID 953, aber eine Eigenschaft "Farbe: rot" mit der ID 123
    Der Artikel steht weiter unten in der Übertragungsliste, da die ID höher ist. Da der Artikel M nach dem Artikel A übertragen wird, überschreibt jetzt die Eigenschaft mit der ID 123 den Artikel A
    Damit entsteht eine Mischung aus Artikel A und der Eigenschaft.
    Bilder und Beschreibung vom Artikel, Name, Artikelnummer und gegebenenfalls der Preis von der Eigenschaft.

    Ich habe einen SQL-Befehl von Vario bekommen, den trägt man unter Auswertungen -> Freie SQL ein
    Code:
    select fil_web_art.webshop_art_id, count(*)
      from art
      join fil_web_art on art.id = fil_web_art.art_id
      join fil_web on fil_web_art.fil_web_id = fil_web.id
      join fil on fil_web.fil_id = fil.id
      where coalesce(art.var_art_id, '') = ''
      and fil.filiale = :filialnr
      group by fil_web_art.webshop_art_id
      order by 2 desc
    und damit bekommt man eine Übersicht über die Web-Shop-IDs und wie oft die in der DB stehen
    Die, die es mehrfach gibt, stehen am Anfang.
    Da mit findet man betroffenen IDs.
    Ich habe dann über Extras -> Importe -> Artikelimport -> Freier Artikelimport eine Web-Shop-Export-Datei erstellt und mir da die betreffenden ID gesucht.
     
  10. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.117
    Danke erhalten:
    88
    Danke vergeben:
    88
    Dieses Problem mit falschen ID's ist mittlerweile behoben in aktuellen VARIO-Versionen.