1b.app
Link kopiert -

Daten in MySQL-Datenbank exportieren

Guten Tag,
Ich benötige eine ähnliche Funktionalität wie beim Datenexport in Google Sheets, allerdings mit der Möglichkeit zum direkten Export in eine MySQL-Datenbank auf einem Webserver.
Können Sie den Arbeitsaufwand für die Implementierung dieser Lösung abschätzen? Lassen Sie mich wissen, wenn weitere Einzelheiten erforderlich sind.
Ich warte auf Ihre Einschätzung.
Die ursprüngliche Frage ist in der Version verfügbar: ua

Antworten:

Guten Tag. Bitte geben Sie an, welche Entitäten Sie exportieren möchten. Welche Aufgabe möchten Sie als nächstes mit diesen Daten durchführen?
03.02.2025, 13:05
Originalkommentar zur Version verfügbar: ru

Guten Tag.

Sie müssen Daten zu Prozessen exportieren, die derzeit an Google Sheets gesendet werden (Screenshot im Anhang), sowie Kontaktinformationen.

Nach dem Export werden diese Daten zur Analyse in Metabase verwendet.

Lassen Sie es mich wissen, wenn Sie weitere Einzelheiten benötigen.
05.02.2025, 07:53
Originalkommentar zur Version verfügbar: ua

Sie können etwas Ähnliches tun wie „Prozesse nach Google Sheets exportieren“. Lediglich zusätzlich gibt es Einstellungen für die Verbindung zur MySQL-Datenbank. Dementsprechend stellen wir eine Verbindung zur Datenbank her und fügen Daten in die angegebene Tabelle ein bzw. aktualisieren sie. Bitte klären Sie, ob Sie die Prozessprodukte in einen separaten Tisch entladen möchten bzw. wie Sie sie dort speichern. Beim Hochladen in Google-Tabellen gibt es beispielsweise Optionen zum Hochladen einer Zeile als Prozessprodukt oder als Prozess. Da wir jedoch über eine Datenbank verfügen, bleibt die Option für Produkte und deren Hinzufügen. Felder beispielsweise in eine separate Tabelle entladen.
05.02.2025, 12:42
Originalkommentar zur Version verfügbar: ru

Danke für die Klarstellung.
Ich brauche eine Datenstruktur in MySQL, die für die Analyse in Metabase geeignet ist. Verstehe ich richtig, dass es möglich ist, eine separate Tabelle für Prozesse, eine separate Tabelle für Prozessprodukte und eine separate Tabelle für Kunden mit zusätzlichen Feldern für alle Tabellen zu erstellen? Wenn ja, erscheint diese Option logisch.
Sollte es Empfehlungen für eine effizientere Strukturierung zur weiteren Arbeit mit den Daten geben, würde ich diese gerne berücksichtigen.
07.02.2025, 07:40
Originalkommentar zur Version verfügbar: ua

Ja, wir können die Prozessprodukte in separate Tabellen, die Prozesse in separate Tabellen und die Kunden selbst in separate Tabellen entladen und dabei alle Entitäten nach IDs verknüpfen. Ich gebe Ihnen die Möglichkeit, im Einsatz selbstständig zu schreiben, in welche Tabellen und welche Felder welche Entitäten entladen werden sollen. Die Aktion wird ca. 12 Stunden dauern. Dadurch haben Sie die Möglichkeit, eine „Kopie“ der Kartondaten zu den Bestellungen in der Datenbank zu erstellen, die Sie für eine spätere Analyse dieser Daten benötigen.
Eine Rechnung ausstellen?
07.02.2025, 12:49
Originalkommentar zur Version verfügbar: ru

Ja, bitte schicken Sie mir eine Rechnung.
Welche Daten ich nun benötige, habe ich in der Tabelle unten angegeben.
https://docs.google.com/spreadsheets/d/1wCfOhOBF3xQVeSiuHULz-l6qqb_JfU9fuK_n-w6R...
09.02.2025, 23:12
Originalkommentar zur Version verfügbar: ua

Ich habe keinen Zugriff auf private Tabellen. Mache sie öffentlich.
10.02.2025, 12:10
Originalkommentar zur Version verfügbar: ru

Ich habe den Link geteilt. Schauen Sie bitte.
Wenn es PostgreSQL statt MySQL ist. Bleibt der Preis derselbe?
10.02.2025, 21:00
Originalkommentar zur Version verfügbar: ua

1. Warum befinden sich die Produkte in der Bestelltabelle?
2. Was ist die Lagertabelle? Übersetzt heißt das „Lager“, allerdings haben wir oben nicht über die Übertragung irgendwelcher Lagerbestände oder Lager gesprochen – ich habe lediglich die Übertragung von Prozessprodukten, Kunden- und Prozessinformationen beurteilt.
3. Handelt es sich bei der Datenbank um PostgreSQL, ist die Bewertung dieselbe, vorausgesetzt, dass nur eine Datenbank vorhanden ist. Diese. für die gleiche Note werde ich nicht MySQL und Postgre machen
11.02.2025, 12:16
Originalkommentar zur Version verfügbar: ru

Der Rechnungsbetrag ist zufriedenstellend, allerdings ist mir nicht ganz klar, was ich am Ende bekomme.

Könnten Sie mich bitte anrufen, damit wir diese Fragen kurz besprechen können. Wir können über Telegram korrespondieren und einen Anruf vereinbaren.

Die Datenbank wird PostgreSQL sein. Ich werde die Domäne und den Benutzernamen angeben.

Derzeit werden Analysen wie im Screenshot in der App angezeigt durchgeführt.
11.02.2025, 14:29
Originalkommentar zur Version verfügbar: ua


Grechukha Dmytro Sergiyovich schrieb:
Der Kontostand ist gültig, allerdings ist mir noch nicht klar, was ich davon habe.

Ich werde die Aktion abschließen. Sie wird Folgendes enthalten:
1. Felder für IP und Zugriff auf die Datenbank + Name der Datenbank, in die die Informationen hochgeladen werden müssen
2. Einstellungen mit der Auswahl, in welche Tabelle und welches Feld in der angegebenen Datenbank Informationen über die Bestellung, die bestellten Produkte und den Kunden geschrieben werden sollen
3. Auswählen der Status, in denen Prozesse entladen werden sollen.
Nach der Konfiguration wird die Aktion einmal pro Stunde ausgeführt und lädt Prozesse in den ausgewählten BPs in eine Drittanbieterdatenbank in den in den Einstellungen angegebenen Feldern hoch. Auf diese Weise erhalten Sie eine „Kopie“ der angegebenen Daten (über die Bestellung, den Kunden, die Produkte der Bestellung) in einer Drittanbieter-Datenbank.
Sollte Ihnen oben etwas unklar sein, können Sie es hier im Textmodus klären.
11.02.2025, 15:11
Originalkommentar zur Version verfügbar: ru

Danke für die Antwort.
Ich habe die Rechnung bezahlt.
Nach dem oben Geschriebenen scheint alles zu passen. Das Einzige, was nicht klar ist, ist, wie ich die Daten aus verschiedenen Tabellen verknüpfen werde? Wird es eine solche Möglichkeit geben?
14.02.2025, 13:23
Originalkommentar zur Version verfügbar: ua


Grechukha Dmytro Sergiyovich schrieb:
Das Einzige, was keinen Sinn ergibt, ist, wie ich die Daten von verschiedenen Zeichen verbinden soll? Wird es eine solche Möglichkeit geben?

Wir verfügen über eigene Bestell- und Kundenkennungen. Dementsprechend erstellen wir Spalten in den benötigten Tabellen, beispielsweise Oneboxid, und fügen der Reihe nach unsere ID in dieses Oneboxid ein, um dann beim nächsten Update anhand dieser Tabelle nach diesem Datensatz zu suchen. Dieselbe Situation gilt beispielsweise auch für Prozessprodukte: Es gibt die Spalten „Oneboxorderid“ und „Oneboxproductid“, und ich schreibe meine Produkt-ID in „Oneboxproductid“ und die Bestell-ID in „Oneboxorderid“. Dementsprechend kann ich Datensätze mit denselben IDs aktualisieren.
14.02.2025, 13:28
Originalkommentar zur Version verfügbar: ru

in welche Spalte wir unsere Bestell-, Produkt- und Kundenkennung einfügen, erfolgt selbstverständlich in Form einer Einstellung.
14.02.2025, 13:29
Originalkommentar zur Version verfügbar: ru

Danke für die Antwort. Jetzt scheint alles klar.
Ich bestätige die technischen Daten.
Wann können wir mit der Umsetzung rechnen?
14.02.2025, 13:40
Originalkommentar zur Version verfügbar: ua

Ich denke, es wird in ein paar Wochen soweit sein. Ich werde in diesen Thread schreiben, wenn alles fertig ist
14.02.2025, 13:41
Originalkommentar zur Version verfügbar: ru

Guten Tag. Die Revision wurde hochgeladen. Stündliche Aktion „Prozesse in PostgreSQL-Datenbank exportieren“. Wenn bei den Einstellungen etwas unklar ist, schreiben Sie mir, ich helfe Ihnen bei dieser Aufgabe.
19.02.2025, 14:21
Originalkommentar zur Version verfügbar: ru

Guten Tag,

versucht, die Arbeit einzurichten. Daten werden nicht hochgeladen.

Überprüfen Sie bitte. https://ceylon.crm-onebox.com/

Teilen Sie mir bitte auch mit, ob ich für den korrekten Upload Tabellen und Tabellenstrukturen erstellen muss.
28.02.2025, 11:48
Originalkommentar zur Version verfügbar: ua

Ja, es ist erforderlich, dass ALLE Felder, die Sie unter „Feld in Datenbank“ angeben, und alle Tabellen, die Sie angeben, erstellt werden. Diese. Die Aktion aktualisiert nicht die Struktur Ihrer Datenbank
05.03.2025, 12:10
Originalkommentar zur Version verfügbar: ru

Habe es geschafft, aber es exportiert nicht.
Kannst du die Einstellungen überprüfen?
05.03.2025, 16:03
Originalkommentar zur Version verfügbar: ua

1. Sie müssen nicht für jede Tabellen-ID „Wert aktualisieren“ festlegen. Dies ist eine eindeutige Kennung; sie ändert sich nicht und muss nicht aktualisiert werden.
2. „Konfigurieren des Entladens von Informationen zu Prozessprodukten in separate Tabellen.“ Es gibt das Konzept eines Produkts und es gibt ein Produkt eines Prozesses. Möglicherweise gibt es ein Produkt mit der ID=10 und dem Namen „Petersilie“. Es kann der Bestellung mit der ID=15 zweimal hinzugefügt werden. Dementsprechend sollten Sie eine Orderproducts-Tabelle mit den Feldern „Orderproductid“ und „Orderid“ sowie „Productid Count“ haben, sodass Sie für eine Bestellung zwei Datensätze mit unterschiedlichen Orderproductids einfügen können (ein Produkt kann einer Bestellung zweimal hinzugefügt werden).
3. Aus irgendeinem Grund entladen Sie die Prozess-ID in zwei verschiedene Felder.
Alles andere scheint in Ordnung zu sein, ich habe die Aktion gestartet - sie funktioniert und entlädt offensichtlich etwas
05.03.2025, 16:30
Originalkommentar zur Version verfügbar: ru

Ich weiß nicht, was ich falsch mache, aber die Tabellen bleiben leer.
05.03.2025, 17:30
Originalkommentar zur Version verfügbar: ua

Beginnen wir mit dem Laden von Daten in eine Tabelle, zum Beispiel Kunden.

In dieser Tabelle sind alle in der erstellten Aktion „Prozesse exportieren…“ angegebenen Entitäten enthalten: Kunden-ID, Name, E-Mail, Telefon, Erstellt am.

Sie müssen überprüfen, ob die Daten erfolgreich hochgeladen wurden. Bisher enthält die Kundentabelle keine Daten.
05.03.2025, 23:31
Originalkommentar zur Version verfügbar: ua

in Prozesse einfügen ("process_id") Werte ('10467')
[message:protected] => FEHLER: Nullwert in Spalte „client_id“ der Relation „processes“ verletzt Not-Null-Constraint
DETAIL: Fehlerhafte Zeile enthält (10467, 06.03.2025 10:10:05.1457, null, 0, 0, null, null).
Sie haben die Felder in der Datenbank wahrscheinlich als Pflichtfelder markiert, sodass ich derzeit keine Bestellung ohne Client-ID aufgeben kann. Ohne eine Auftragserstellung wird kein Kunde angelegt.
Bitte ENTFERNEN Sie aus den Auftrags- bzw. Benutzertabellen die Spalten, die Sie nicht verwenden möchten bzw. richten Sie die Aktion so ein, dass diese ausgefüllt werden. ÄNDERN Sie danach NICHT die Aktionseinstellungen und ich werde sehen, was als Nächstes passiert.
06.03.2025, 12:12
Originalkommentar zur Version verfügbar: ru

Die Prozesstabelle wird nun mit der Prozess-ID und dem Verkaufsdatum aufgefüllt. Die restlichen Spalten sind leer.

Ich benötige Daten um die beigefügte Tabelle 1 erstellen zu können (Bestelldatum, Kundennummer, Bestell-ID, Produktartikelnummer, Stückpreis, Menge, Bestellbetrag).

Bitte helfen Sie dabei.
06.03.2025, 18:04
Originalkommentar zur Version verfügbar: ua

Die Spalte "LTV" der Relation "Prozesse" existiert nicht
Der Spaltentitel musste in Kleinbuchstaben geschrieben werden.
FEHLER: Spalte "Artikel" der Relation "Prozesse" existiert nicht
Der Spaltenname ist falsch
Kunden aktualisieren: Setze "Name" = "Anton", "E-Mail" = "xxxx@gmail.com", "Telefon" = "380972xxxxxx", "created_at" = "2024-07-25 20:54:06", wobei customerid = "2374"
[message:protected] => FEHLER: Wert "380972774040" liegt außerhalb des gültigen Bereichs für Typ Integer
Sie haben eine Ganzzahl in der Spalte „Telefon“ für den Benutzer, aber die Telefonnummer liegt außerhalb der Grenzen des Akzeptablen in int . Machen Sie daraus entweder Bigint oder Text.
07.03.2025, 11:20
Originalkommentar zur Version verfügbar: ru

Die ersten beiden Fehler in deinen Einstellungen habe ich behoben, den dritten behebe ich selbst, an der Datenbankstruktur greife ich nicht ein.
07.03.2025, 11:21
Originalkommentar zur Version verfügbar: ru

Danke für Ihre Hilfe, alles wird korrekt geladen! Damit kann bereits gearbeitet werden.
Ich habe noch ein paar Klarstellungen:
1. Verstehe ich richtig, dass das Kontrollkästchen „Werte aktualisieren“, wenn es nicht aktiviert ist, nur das Hochladen neuer Daten zulässt, die zuvor noch nicht hochgeladen wurden?
2. Die Formel zum Entladen von Prozessprodukten wird jetzt zum Entladen von Teilenummern in die Spalte „Prozessproduktinformationen“ verwendet. Kann ich in den entsprechenden Feldern ebenfalls zusätzlich andere Daten hochladen (zum Beispiel [Währung] in die Spalte „Währung“)? Wie lautet die Syntax hierfür?
Ich wäre Ihnen für eine Antwort dankbar!
07.03.2025, 12:54
Originalkommentar zur Version verfügbar: ua

1. Ist die Checkbox nicht aktiviert, wird das Feld nur beim Anlegen eines Datensatzes übernommen und nicht aktualisiert. Wenn aktiviert, wird es bei jedem Start der Aktion aktualisiert.

2. Sie können die Prozessprodukte auf unterschiedliche Weise entladen, im Folgenden beschreibe ich zwei Möglichkeiten:

Eingabedaten: Es gibt 3 Produkte im Prozess: Seife, Shampoo und Gel.

a) Legen Sie die Einstellung mit der Formel fest und wählen Sie aus, dass die Prozessprodukte in die Produkttabelle entladen werden. Wenn Sie dann die Formel in der Bestelltabelle angeben, lautet der Wert im ausgewählten Feld:

Seife 1Stk, Menge Std

Shampoo 1Stk, Menge Std

b) die Prozessprodukte in einen SEPARATEN Tisch entladen, eine Option hierfür gibt es weiter unten in der Aktion. In dieser Version können die Menge des Produkts, der Preisbetrag und die Währung in separaten Feldern hochgeladen werden. Für Währungen lautet dieses Feld in diesem Fall „currencyid“. Dies ist die ID der Währung im Feld. In Ihrer Box hat die Hrywnja die ID=1, d. h. Für das Prozessprodukt enthält die Spalte „Währungs-ID“ den Wert 1.

Dabei besteht die Möglichkeit, beide Möglichkeiten zu kombinieren und die Prozessprodukte sowohl dort als auch dort zu entladen.
07.03.2025, 13:27
Originalkommentar zur Version verfügbar: ru

Vielen Dank für Ihre Antwort.
Wir schließen diesen Thread.
07.03.2025, 16:16
Originalkommentar zur Version verfügbar: ua

Nach der Bearbeitung der Daten stellten sich folgende Fragen:
1. Bitte stellen Sie Fehlerprotokolle bereit, die beim Hochladen der Daten aufgetreten sind.
2. Ich möchte noch klarstellen: Verstehe ich richtig, dass der Parameter realprice (Produktfeld verarbeiten) der Produktpreis ist, der im Prozess angegeben wurde?
3. Wie wählt man die Produktartikelnummer des Prozesses aus?
Danke schön!
08.03.2025, 21:37
Originalkommentar zur Version verfügbar: ua

1. So etwas gibt es nicht
2. Sie müssen das Feld "Preis des Prozessprodukts mit Rabatt" auswählen
3. Es gibt kein solches Feld. Das Produkt selbst verfügt über eine Artikelnummer, das Prozessprodukt jedoch nicht.
10.03.2025, 11:14
Originalkommentar zur Version verfügbar: ru

Bitte beteiligen Sie sich am Dialog. Wenn Sie etwas zu sagen haben - schreiben Sie bitte einen Kommentar. Für die Teilnahme benötigen Sie ein Mobiltelefon und einen SMS-Code zur Identifizierung. Melden Sie sich an und schreiben Sie einen Kommentar