Hallo liebe Contao Community,
ich muss derzeit 5 Millionen! Mitglider / Datensätze in die Contao Datenbank importieren. Hat jemand von euch einen Tipp wie ich diese Menge an Daten am besten importieren kann?
LG,
Dirk
Hallo liebe Contao Community,
ich muss derzeit 5 Millionen! Mitglider / Datensätze in die Contao Datenbank importieren. Hat jemand von euch einen Tipp wie ich diese Menge an Daten am besten importieren kann?
LG,
Dirk
Nicht das ich wirklich helfen könnte, aber für die Beantwortung Deiner Frage dürfte es wohl interessant sein in welcher Form die Daten vorliegen oder meinst Du einen Abbruch beim importieren wegen zur großer Datenmenge/Timeout?
Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
Unterstütze bitte das Contao-Projekt (Button Links)
Weitere Spendenmöglichkeiten
------------------------------------------------------------------------------------------------------
Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
Contao-Online-Video-Kurse: Contao Academy
Funktionalität erweitern: Contao-Erweiterungen
Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.
Würde ich (falls Du einen Mac hast) mit Sequel Pro machen.
Das sollte auch mit MySQLDumper http://www.mysqldumper.de/ gehen.
Bitte!
Vor Anfragen im Forum HTML validieren.
Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.
Vielen Dank an alle Wunschlistenerfüller
Andreas Burg, Web Solutions
Je nach Format. SQL Dump oder CSV waeren am schnellsten, geht einfach ueber Console.
Hast Du das "richtige" Contao Format schon, oder ist das ein anderes Schema ?
Wie sieht es mit den Passwoertern aus ? Muessen Die neu erstellt werden oder uebernommen ? <- das ist naemlich sehr kompliziert
von Willi Voltz aus PR 500: Henry George sagte einmal: »Kultur ist Zusammenarbeit.«
Contao-Hosting: begeisterter Uberspace-Nutzer
Ja, wird aber hier https://github.com/DSB/MySQLDumper wohl weiterentwickelt und PHP7-tauglich gemacht.
Zum Einspielen könnte das auch mit HeidiSQL gehen.
@lindesbes hast du ein paar Code-Schnippsel wie das über Console aussehen könnte?
Bitte!
Vor Anfragen im Forum HTML validieren.
Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.
Vielen Dank an alle Wunschlistenerfüller
Andreas Burg, Web Solutions
einen Dump via console in eine MySQL zu bekommen ? ganz einfach :
Aber da ich das Rohformat der urspruenglichen Daten nicht kenne, geht das so eben nicht.Code:mysql -u $USER -p -h $HOST < dump.sql
von Willi Voltz aus PR 500: Henry George sagte einmal: »Kultur ist Zusammenarbeit.«
Contao-Hosting: begeisterter Uberspace-Nutzer
Also derzeit habe ich eine CSV Datei mit 5 Millionen Nutzernamen.
Diese Namen sollen alle ein Passwort erhalten, wobei hier für jeden Benutzer das gleiche Passwort verwendet werden soll.
Zudem muss noch die ID der Mitgliedergruppe und den True Wert für das Login für jeden Nutzer importiert werden.
Ich habe mir mal die Contao Erweiterung "import_from_csv" angesehen und mir hierzu eine passende CSV für den Import angelegt.
Die Import Datei habe ich auf maximal 500000 Einträge gesplittet, doch selbst so dauert der Import Lokal auf meinem Rechner ewig und er bricht auch immer vorzeitig ab :-(
Bei diesen Voraussetzungen würde ich es so machen, wie von lindesbs in #8 beschrieben.
Die dump.sql würde ich dazu offline aus der CSV erstellen. Mit einem kleinen Skript (PHP oder Perl oder was auch immer) in etwa so:
In die dump.sql diese Zeile schreiben (weitere oder weniger Felder nach Bedarf):
Dann je Zeile der CSV die VALUES generieren und an die dump.sql anhängen. BeispielCode:INSERT INTO `tl_member` (`firstname`, `lastname`, `email`, `login`, `username`, `password`,`groups`) VALUES
wobeiCode:# input.csv Max;Mustermann;max@example.com # an dump.sql anhängen ('Max','Mustermann','max@example.com','max@example.com','$2y$10$PESomk2UHc.iFwguvRAegeZLbHZUqQszQwqRBrzi93XBXzGApmh3.','a:1:{i:0;s:1:"4";}'),
- max@example.com ein Mal die E-Mail-Adresse und ein Mal der Benutzername ist
- $2y$10$PESomk2UHc.iFwgubTZegeZLbHZUqQszQwqRBrzi93X BXzGApmh3. der Passwort-Hash ist, der laut Deinen Anforderungen für alle gleich ist, da alle das gleiche (initiale?) Passwort haben sollen. Könnte man aber auch leer lassen und allen Usern mitteilen, daß sie ihr Passwort via "Passwort vergessen" abholen sollen
- a:1:{i:0;s:1:"4";} der serialisierte Array der Gruppen ist (PHP serialize()). Im Beispiel der Array, der nur den Eintrag 4 enthält (Gruppe mit der ID 4)
Beide Werte könnte man in einer lokalen Testinstallation erstellen lassen, auslesen und dann hart kodiert im Skript hinterlegen.
Am Ende (der dump.sql) muss dann noch das letzte Komma der erzeugten Datenzeilen weg und ein abschließendes ';' rein.
Contao-Community-Treff Bayern: http://www.contao-bayern.de
Hallo,
um direkt in der DB zu arbeiten empfehle ich http://squirrel-sql.sourceforge.net/
Optimal um direkt mit SQL zu arbeiten. Hatte auch bei sehr großen Datenmengen damit noch nie Probleme.
Gruß Thomas
__________________________________________________ ________________________________
ich habe keine Zeit, darüber nachzudenken, warum ich keine Zeit habe.
Ich bin erst jetzt dazu gekommen, die Datensätze zu importieren.
Ich habe dem SQL Dump nach der Methode von fiedsch erstellt und anschließend mit dem mysqldumper importiert. Ging relativ fix und ohne Probleme.
Danke nochmal :-)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen