MariaDB Tabellen Abgleichen
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
MariaDB Tabellen Abgleichen
Hallo
Ich habe in den letzten Monaten ein kleinen Webserver geschrieben, der Zugriff auf eine MariaDB hat. Die Anwendung verwaltet Notizen.
Das Szenario:
Ich habe ein PC und ein Laptop. Auf beiden soll diese Anwendung laufen. Auf beiden läuft bereits ein MariaDB Server.
Ich möchte das ganze ohne Internet-Server lösen. Einfach aus zwei gründen:
1. Da wo ich mich zwischendurch aufhalte, gibt es zwar Internet, aber nicht unbedingt 100% zuverlässig.
2. Ich habe noch kein V oder Root Server gemietet.
Meine Idee:
Ich habe jetzt eine History Tabelle erstellt, wo jede Änderung an der Haupttabelle eingefügt werden, über Trigger. Das ganze klappt recht gut.
Ich habe also nun eine Tabelle die alle Änderungen der Haupttabelle enthält.
Ich gehe im Moment davon aus, dass die beiden Datenbanken(Die eine auf dem PC und die andere auf dem Laptop) nie immer 100% gleich sind.
Über die History Tabelle jedoch, kann ich sie wieder "vereinen". Kann sein, dass einige Entscheidungen der Benutzer treffen muss(Da bin ich mir noch nicht 100% sicher).
Dazu einige Frage:
In der History Tabelle gibt es ein Feld: Action(unter anderem), da steht drin, was genau passiert ist, ob gelöscht, hinzugefügt oder verändert wurde.
Genau darum geht es, wie kann ich am besten die History Tabelle Exportieren und dann abgleichen mit der Datenbank auf mein Laptop zum Beispiel.
Meine Idee dazu:
Eine Anwendung schreiben, den kompletten Inhalt der History Tabelle in einer JSON Datei zum Beispiel exportiert und auf dem Ziel System auch wieder Importieren kann. Im Ziel Verzeichnis sollte dann noch ein "Datum" und eine Uhrzeit vom letzten Abgleich abgelegt werden.
Oder wären Server Proceudren besser geeignet?
Wie würde ihr dieses Problem lösen?
Mein Ziel ist es am ende "nur" noch eine Datei zu haben, die ich auf mein Speicherstick oder auf mein WebSpace laden kann.
Da die Datenbank mit der Zeit wachsen wird, möchte ich auch nicht immer alles in die JSON Datei schreiben, sondern legendlich die Änderungen.
Entweder habe ich falsch im Internet gesucht, oder es wurde einfach noch kein weg beschrieben, wie das gehen könnte mit einer MariaDB. ich habe auch unter den begriff mySQL gesucht. Die meisten Tutorials höheren leider immer dann auf, wenn es Anfängt Spannend zu werden.
Die meisten gehen davon, aus das es ein Zentralen Internet Server gibt oder das man das Master/Slave Modell verwendet(was vielleicht auch noch ein Versuch Wert wäre, dazu müsste ich aber den Laptop zwischendurch "Zuhause" anmachen damit die Daten abgeglichen werden können).
Ich habe in den letzten Monaten ein kleinen Webserver geschrieben, der Zugriff auf eine MariaDB hat. Die Anwendung verwaltet Notizen.
Das Szenario:
Ich habe ein PC und ein Laptop. Auf beiden soll diese Anwendung laufen. Auf beiden läuft bereits ein MariaDB Server.
Ich möchte das ganze ohne Internet-Server lösen. Einfach aus zwei gründen:
1. Da wo ich mich zwischendurch aufhalte, gibt es zwar Internet, aber nicht unbedingt 100% zuverlässig.
2. Ich habe noch kein V oder Root Server gemietet.
Meine Idee:
Ich habe jetzt eine History Tabelle erstellt, wo jede Änderung an der Haupttabelle eingefügt werden, über Trigger. Das ganze klappt recht gut.
Ich habe also nun eine Tabelle die alle Änderungen der Haupttabelle enthält.
Ich gehe im Moment davon aus, dass die beiden Datenbanken(Die eine auf dem PC und die andere auf dem Laptop) nie immer 100% gleich sind.
Über die History Tabelle jedoch, kann ich sie wieder "vereinen". Kann sein, dass einige Entscheidungen der Benutzer treffen muss(Da bin ich mir noch nicht 100% sicher).
Dazu einige Frage:
In der History Tabelle gibt es ein Feld: Action(unter anderem), da steht drin, was genau passiert ist, ob gelöscht, hinzugefügt oder verändert wurde.
Genau darum geht es, wie kann ich am besten die History Tabelle Exportieren und dann abgleichen mit der Datenbank auf mein Laptop zum Beispiel.
Meine Idee dazu:
Eine Anwendung schreiben, den kompletten Inhalt der History Tabelle in einer JSON Datei zum Beispiel exportiert und auf dem Ziel System auch wieder Importieren kann. Im Ziel Verzeichnis sollte dann noch ein "Datum" und eine Uhrzeit vom letzten Abgleich abgelegt werden.
Oder wären Server Proceudren besser geeignet?
Wie würde ihr dieses Problem lösen?
Mein Ziel ist es am ende "nur" noch eine Datei zu haben, die ich auf mein Speicherstick oder auf mein WebSpace laden kann.
Da die Datenbank mit der Zeit wachsen wird, möchte ich auch nicht immer alles in die JSON Datei schreiben, sondern legendlich die Änderungen.
Entweder habe ich falsch im Internet gesucht, oder es wurde einfach noch kein weg beschrieben, wie das gehen könnte mit einer MariaDB. ich habe auch unter den begriff mySQL gesucht. Die meisten Tutorials höheren leider immer dann auf, wenn es Anfängt Spannend zu werden.
Die meisten gehen davon, aus das es ein Zentralen Internet Server gibt oder das man das Master/Slave Modell verwendet(was vielleicht auch noch ein Versuch Wert wäre, dazu müsste ich aber den Laptop zwischendurch "Zuhause" anmachen damit die Daten abgeglichen werden können).
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: MariaDB Tabellen Abgleichen
Hast du schon an git gedacht?
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: MariaDB Tabellen Abgleichen
Das wäre ein Weg, den man mit DokuWiki verwenden kann. DokuWiki speichert alles als Datei ab und verwendet keine Datenbank.mse hat geschrieben:Hast du schon an git gedacht?
Die Idee mit Triggern und einer Protokolltabelle ist nicht neu und wird auch in kommerziellen Produkten verwendet. Hier habe ich bisher nur eine Replikation in eine Richtung gesehen, d.h. auf der Zielseite sind keine Änderungen zugelassen. Das spart natürlich den Abgleich von konkurrierenden Änderungen. Im CalDAV-Protokoll ist für ähnliche Situationen festgelegt: der Server hat immer Recht.pluto hat geschrieben:Meine Idee:
Ich habe jetzt eine History Tabelle erstellt, wo jede Änderung an der Haupttabelle eingefügt werden, über Trigger. Das ganze klappt recht gut.
Ich habe also nun eine Tabelle die alle Änderungen der Haupttabelle enthält.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: MariaDB Tabellen Abgleichen
Wie soll mir das hier weiter helfen?Hast du schon an git gedacht?
Klar, kann ich meine Dokumente über ein Lokales GIT abgleichen.... dann wär es keine Datenbank mehr.
Man kann es sich auch einfach machen.... stimmt....Das spart natürlich den Abgleich von konkurrierenden Änderungen. Im CalDAV-Protokoll ist für ähnliche Situationen festgelegt: der Server hat immer Recht.
Ist aber nicht mein Ziel...
MFG
Michael Springwald
Michael Springwald
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: MariaDB Tabellen Abgleichen
Bevor ich Missverstanden werden, mir geht es bei diesem Projekt Primär um zwei Dinge:
1. Erfahrungen mit Datenbanken Sammeln:
Was ist Möglich?
Was ist Sinnvoll?
Gibt es ein Standardweg für mein Anliegen? Es müssen ja nicht immer Notizen sein, es können auch andere Dinge sein.
Im Internet gibt es immer nur die gleichen Konzepte zu finden, dass ist auf dauer einfach zu langweilig.
Diese Konzepte sind Bausätze: Foren, Wikis, und soweiter.
2. Das ganze ist natürlich nur ein Test Projekt. Entweder, es ist ein möglicher Weg um Notizen zu sammeln oder nicht.
Mir ist im Prinzip klar, dass Datenbanken, wie MariaDB und CO, eigentlich dafür ausgelegt sind im Netzt(ob Lokal oder Global) zu Funktionieren bzw, da es dort am Sinnvollsten ist. Es stellt sich natürlich auch die Frage, wie Sinnvoll es ist, für eine Person gleich eine DB anzulegen, aber was spricht da gegen?
Ich würde gerne mal "andere" Wege ausprobieren. Heut zu Tage wird alles immer sofort in einer "Claud" gelegt. Warum? Weil es einfacher ist.
Da ich im Internet bisher kaum Sinnvoll Informationen zum Thema gefunden habe, denke ich, ich gehe hier kein "Standard" weg.
1. Erfahrungen mit Datenbanken Sammeln:
Was ist Möglich?
Was ist Sinnvoll?
Gibt es ein Standardweg für mein Anliegen? Es müssen ja nicht immer Notizen sein, es können auch andere Dinge sein.
Im Internet gibt es immer nur die gleichen Konzepte zu finden, dass ist auf dauer einfach zu langweilig.
Diese Konzepte sind Bausätze: Foren, Wikis, und soweiter.
2. Das ganze ist natürlich nur ein Test Projekt. Entweder, es ist ein möglicher Weg um Notizen zu sammeln oder nicht.
Mir ist im Prinzip klar, dass Datenbanken, wie MariaDB und CO, eigentlich dafür ausgelegt sind im Netzt(ob Lokal oder Global) zu Funktionieren bzw, da es dort am Sinnvollsten ist. Es stellt sich natürlich auch die Frage, wie Sinnvoll es ist, für eine Person gleich eine DB anzulegen, aber was spricht da gegen?
Ich würde gerne mal "andere" Wege ausprobieren. Heut zu Tage wird alles immer sofort in einer "Claud" gelegt. Warum? Weil es einfacher ist.
Da ich im Internet bisher kaum Sinnvoll Informationen zum Thema gefunden habe, denke ich, ich gehe hier kein "Standard" weg.
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: MariaDB Tabellen Abgleichen
git kann sehr gut Texte aus verschiedenen Versionen kombinieren, übliche relationale Datenbanken können das nicht. Zudem ist git ebenfalls eine Art Datenbank.pluto hat geschrieben:Wie soll mir das hier weiter helfen?Hast du schon an git gedacht?
Falls du eine relationale Datenbank mit Replikationsfunktion suchst ist vielleicht PostgreSQL mit z.B. Bucardo das richtige für dich.
https://wiki.postgresql.org/wiki/Bucardo
AFAIK hat auch MariaDB Replikationsfunktionen.
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: MariaDB Tabellen Abgleichen
Ich suche keine Datenbank mit "Replikationsfunktion" Funktion. Was ich suche ist, eine einfache Möglichkeit, die Histroy Tabelle die ich erstellt habe bzw. erstellt wird, wenn die Haupt Tabelle verändert wird wieder einzulesen bzw. auszulesen(Exportieren).Falls du eine relationale Datenbank mit Replikationsfunktion suchst ist vielleicht PostgreSQL mit z.B. Bucardo das richtige für dich.
Der Einzigste Weg der mir bisher eingefallen ist: Ein weiteren DB Client zu erstellen, der die Histroy Table komplett einlist und exportieren kann, damit ich sie später mit dem gleichen Programm wieder importieren kann.
ja, dass habe ich gelesen, ist aber in meinem Fall sehr Unpraktisch, so wie ich es verstanden habe. Weil es ein Master und ein Slave braucht bzw. Es geht wohl auch Master/Master, aber genau das möchte ich nicht.AFAIK hat auch MariaDB Replikationsfunktionen.
Weil dann müsste ich mein Laptop aufbauen und eine Verbindung zum PC herstellen. Dann würde das natürlich gehen.
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: MariaDB Tabellen Abgleichen
Das ist doch asynchrone Master-Master Replikation?pluto hat geschrieben: Ich suche keine Datenbank mit "Replikationsfunktion" Funktion. Was ich suche ist, eine einfache Möglichkeit, die Histroy Tabelle die ich erstellt habe bzw. erstellt wird, wenn die Haupt Tabelle verändert wird wieder einzulesen bzw. auszulesen(Exportieren).
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: MariaDB Tabellen Abgleichen
ja, aber ich müsste immer noch den Laptop einmal anmachen, damit sich die Datenbanken abgleichen oder?...Das ist doch asynchrone Master-Master Replikation?
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: MariaDB Tabellen Abgleichen
Oder die Daten auf den PC kopieren und von dort auf den primary master replizieren. Ob das mit Bucardo geht weiss ich nicht. Eine DB Replikation selbst zu programmieren ist vermutlich nicht ganz einfach. Ich fürchte, ich verstehe dein Vorhaben immer noch nicht.
Du möchtest deine Notizen auf einem Memory Stick haben den du auf alle deine Arbeitsumgebungen mitnimmst. Warum brauchst du dann noch Replikation?
Du möchtest deine Notizen auf einem Memory Stick haben den du auf alle deine Arbeitsumgebungen mitnimmst. Warum brauchst du dann noch Replikation?
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: MariaDB Tabellen Abgleichen
Der Punkt ist: Ich Erstelle Zuhause neue Notizen oder bearbeite alte.Du möchtest deine Notizen auf einem Memory Stick haben den du auf alle deine Arbeitsumgebungen mitnimmst. Warum brauchst du dann noch Replikation?
Dann habe ich mein Laptop. da tue ich das gleiche, aber nicht Zuhause sondern woanders.
D.H. Es ist schwer finde ich diese Notizen auf dem gleichen Stand zu halten. Weil ich immer Manuell die geänderten Dateien auf dem Laptop zurzeit auf mein WebSpace oder Speicherstick kopiere, damit ich sie Zuhause einfach nur runterladen brauche ohne den Laptop extra aufzubauen.
Darum die Idee mit der Datenbank. Ich merke aber schon, dass es vielleicht etwas übertrieben ist... Mir geht es darum wenn Möglich unter Internet die Notizen auf den gleichen Stand zu halten.
Notizen ist vielleicht auch der Falsche begriff, es sind Informationen die ich sammel Beschreibungen, Ideen, Gedanken.... Die Fasse ich kurz als Notizen zusammen.
Die Text Dateien können schon länger werden mit der Zeit.
Die Web Oberfläche ist bereits dafür ausgelegt. Die Daten kommen auch schon in die Datenbank. Die Histroy Table wird wie schon geschrieben auch angelegt und mit Werten gefüllt(Automatisch, dank Trigger).
Vielleicht habe ich die Frage auch unklar gestellt: Im Internet gibt es sehr viele Beispiele/Tutorials wie man trigger nutzt. Meine Anwendung kann nun eine neue Datenbank anlegen und ebenfalls die Trigger hinzufügen. Was ich bisher nicht gefunden habe ist: Was mache ich nun mit der Histroy Table?
Ich möchte die Einträge aus dieser Tabelle Exportieren am besten in eine Austausch Datei um sie wieder zu Importieren....
D.H. ich muss die Datei einlesen und schritt für schritt Abarbeiten. Zum Beispiel, da ist jetzt ein Insert passiert, also wurde was eingefügt und hier wurde was gelöscht, und hier was geändert und soweiter.
MFG
Michael Springwald
Michael Springwald
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: MariaDB Tabellen Abgleichen
Aber genau das ist ist doch "Replikation" und wie Martin schon geschrieben hat, ist git dafür bestens geeignet.
Wenn du an zwei Orten an der gleichen Notiz in der gleichen Zeile geändert hast, dann musst du selbst nochmal entscheiden, was richtig ist.
Ansonsten macht git das vollkommen automatisch (und auch sehr gut und schnell)
Wenn du an zwei Orten an der gleichen Notiz in der gleichen Zeile geändert hast, dann musst du selbst nochmal entscheiden, was richtig ist.
Ansonsten macht git das vollkommen automatisch (und auch sehr gut und schnell)
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: MariaDB Tabellen Abgleichen
Gut und wie verbinden sich die zwei Master/Master Datenbanken?Aber genau das ist ist doch "Replikation" und wie Martin schon geschrieben hat, ist git dafür bestens geeignet.
Wenn du an zwei Orten an der gleichen Notiz in der gleichen Zeile geändert hast, dann musst du selbst nochmal entscheiden, was richtig ist.
D.H. ich müsste dann den Laptop einmal kurz aufbauen, so das sich die Datenbank auf dem Laptop mit der auf dem PC verbinden kann richtig?
Wenn ich dann wieder komme, müsste ich es erneut mache. Genau das ist der Punkt.
Es gebe da noch die Idee, mit einem SSH Tunnel. So das die Datenbank Verbindung quasi über SSH getunneln werden kann. Das wäre eine weitere Idee.
hat das wer von euch schon mal gemacht? Dann könnte ich Praktisch so ein Master/Master Konzept aufbauen(vielleicht). Wäre bestimmt die Sinnvollste Variante, weil so landen die Daten nicht im "Internet", jedenfalls würden die Daten direkt vom (zum Beispiel) Banana PI auf mein Laptop gehen.
Vielleicht könnte die Datenbank dann sogar auf mein BananaPI laufen( Der sollte von der Leistung her denke ich vollkommen ausreichen).
Bevor ich den Laptop jedes mal aufbauen muss und anmachen muss, würde ich eher diesen Weg ausprobieren.
Weil dann bräuchte ich auch die Histroy Tabelle nicht, höchsten um Änderungen Rückgängig machen zu können.
Git hat aber nun mal nichts mit einer MariaDB gemeinsam. Das wäre ein komplett neues Konzept.Ansonsten macht git das vollkommen automatisch (und auch sehr gut und schnell)
Die Idee hat aber einige weitere Vorteile.... Ich werde es mir überlegen... Vielleicht ist das sogar besser als rsync.
MFG
Michael Springwald
Michael Springwald
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: MariaDB Tabellen Abgleichen
Mit MariaDB hat git nichts zu tun. Aber Notizen lassen sich doch hervorragend in Textdateien verwalten und da ist git's Stärke.
Auf dem PC legst du mit
ein lokales Respository an und fügst alle Dateien des aktuellen Verzeichnisses hinzu. (Falls bestimmte Dateien nicht mit versioniert werden sollen, kann man eine Datei .gitignore anlegen. Diese enthält Dateinamen und/oder Wildcards mit Dateien die nicht mit rein sollen.
mit
wird ein sogenannter commit gemacht. Später kann man jeden commit komplett wieder so herstellen wie er zu diesem Zeitpunkt war.
Um von dem Laptop aus ein identisches Verzeichnis zu erhalten kannst du mit
dieses erstellen.
Der Laptop hat dann als Remote Repository den PC schon in der Liste.
Mittels
kannst du nun alle zwischenzeitlich gemachten Änderungen vom PC auf den Laptop holen.
und mit
alle lokalen Änderungen vom Laptop auf den PC packen.
Wenn du zu.B. einen Raspberry als zentrales Repository haben wilsst, dann kannst du da mit
ein leeres Repository anlegen. Um dieses dann sowohl auf dem PC als auch auf dem Laptop als Default Remote Repository zu haben musst du einmalig
Dieses als default Remote registrieren.
Und nur wenn an der gleichen Datei in der gleichen Zeile zur gleichen Zeit an unterschiedlichen Arbeitsplätzen etwas geändert wurde, meckert der git pull Befehl. Die entsprechenden Zeilen werden dann in der Datei markiert und müssen von Hand angepasst und dann erneut comittet werden. Das ist aber wirklich nur äußerst selten der Fall.
Ich verwalte alle Quellcodes mit mehreren Entwicklern auf diese Weise. Es ist schon saugeil, wenn du nach ein paar Jahren mal einen alten Stand brauchst. Dann suchst du dir mit
den Hash des betreffenden Commit raus (oder komfortabler mit git GUI) und mit
ist dein Verzeichnis exakt so, wie es zu dem damaligen Zeitpunkt war. Wie von Zauberhand sind alle seitdem gelöschten Dateien wieder da und alle seitdem neu hinzugekommenen wieder weg. Alle anderen haben exakt den Stand wie zu dem Zeitpunkt.
und mit
ist der Spuk wieder vorbei
Auf dem PC legst du mit
Code: Alles auswählen
git init
git add .
mit
Code: Alles auswählen
git commit -a -s -m"Hier kommen deine Änderungskommentare rein"
Um von dem Laptop aus ein identisches Verzeichnis zu erhalten kannst du mit
Code: Alles auswählen
git checkout ssh://user@server/name_des_Verzeichnisses <optionaler lokaler Name>
Der Laptop hat dann als Remote Repository den PC schon in der Liste.
Mittels
Code: Alles auswählen
git pull
und mit
Code: Alles auswählen
git push
Wenn du zu.B. einen Raspberry als zentrales Repository haben wilsst, dann kannst du da mit
Code: Alles auswählen
git init --bare
Code: Alles auswählen
git remote add origin ssh://user@raspi/name_des_Verzeichnisses
git push --set-upstream origin master
Und nur wenn an der gleichen Datei in der gleichen Zeile zur gleichen Zeit an unterschiedlichen Arbeitsplätzen etwas geändert wurde, meckert der git pull Befehl. Die entsprechenden Zeilen werden dann in der Datei markiert und müssen von Hand angepasst und dann erneut comittet werden. Das ist aber wirklich nur äußerst selten der Fall.
Ich verwalte alle Quellcodes mit mehreren Entwicklern auf diese Weise. Es ist schon saugeil, wenn du nach ein paar Jahren mal einen alten Stand brauchst. Dann suchst du dir mit
Code: Alles auswählen
git log
Code: Alles auswählen
git checkout aabbccdd
und mit
Code: Alles auswählen
git checkout master
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: MariaDB Tabellen Abgleichen
Ja, wie schon gesagt, es geht um Datenbanken und nicht um Textdateien.Mit MariaDB hat git nichts zu tun. Aber Notizen lassen sich doch hervorragend in Textdateien verwalten und da ist git's Stärke.
Aber ich werde es mir überlegen....
Ich habe mir überlegt, sowas auf mein Webspace wo ich ein SSH Zugang habe, anzulegen.... Der PC kann die Änderungen dann dort "hochladen" und bei meinem Laptop wieder runterladen. Jedenfalls wäre es ein Versuch wert.Wenn du zu.B. einen Raspberry als zentrales Repository haben wilsst, dann kannst du da mit
Danke für die Ausführliche Erklärung.... Werde ich mir speichern und mal ausprobieren. Ob das eine Lösung sein kann.
Das löst zwar das Datenbank Problem nicht, wäre aber für das eigentliche Problem eine Tolle Alternative....
Das wird wohl in meinem Fall nicht passieren, jedenfalls nicht zur gleichen Zeit...Und nur wenn an der gleichen Datei in der gleichen Zeile zur gleichen Zeit an unterschiedlichen Arbeitsplätzen etwas geändert wurde, meckert der git pull Befehl.
Die Idee hat schon was... Letzten habe ich was geändert und es stellt sich heraus, war keine gute Idee, ich musste es wieder rückgängig machen, von Hand.Ich verwalte alle Quellcodes mit mehreren Entwicklern auf diese Weise. Es ist schon saugeil, wenn du nach ein paar Jahren mal einen alten Stand brauchst. Dann suchst du dir mit
Bei Quellcodes würde ich aber versuchen, die *.ppu, *.obj und die Ausführbare Datei nicht mit zu "sichern".....
Ich würde mir hier nur sorgen, dass irgendwann die Platte voll ist, ich habe zwar eine 8 TB von den schon knapp 4 TB belegt sind, aber wer weiß....
MFG
Michael Springwald
Michael Springwald