Hallo allemaal,
Ik zit met het volgende probleem, ik heb twee verschillende databases met dezelfde structuur. In beide databases worden dingen gewijzigd en toegevoegd. Nu ben ik op zoek naar een script dat een tabel in de database kan synchroniseren. Ik heb hier zelf al even over nagedacht, en het nodige op internet gezocht. Ik heb iets gelezen over master en slave binnen mysql zelf. maar volgens mij is dat slechts een kant op.
Zelf loop ik hier op vast:
Ik denk dat er twee opties zijn,
OPTIE 1
de wijzigingen in db1 naar db2 schrijven, die kan ik selecteren omdat ik in de tabel een veld heb die een waarde krijgt als er wijzigingen in zijn. dat veld (flag) heeft ook een apparte waarde voor nieuwe records. Vervolgens de tabel in db1 legen, en de hele tabel uit db2 terug kopieren. en vervolgens alle flags weer legen.
Ik denk dat dit op den duur traag wordt omdat je tabel groeit. en alle gegevens terug kopieren gewoon veel tijd gaat kosten.
OPTIE 2
Weer de wijzigingen/inserts selecteren in een van beide tabellen, die naar de ander schrijven flags in de eerste tabel weer op nul zetten dan hetzelfde herhalen voor de andere tabel.
hier denk ik dat het een probleem wordt als je wijzigingen gaat doen in een van beide tabellen omdat op den duur de id's niet meer gelijk zijn. Want als ik in db1 & 2 allebei 10 records heb, en ik voeg in beide een toe, en dan ga ik synchroniseren, zullen de nieuwe records in de twee tabellen een ander id hebben. namelijk 11 & 12, en voor de andere tabel 12 & 11.
Het is misschien een idee om een extra soort id te maken die voor ieder record 100% uniek is, iets met een timestamp oid. Maar dat is niet helemaal waterdicht.
misschien zijn er andere opties, of is er een systeem om die id's gelijk te houden. In ieder geval is alle hulp welkom
Ik zit met het volgende probleem, ik heb twee verschillende databases met dezelfde structuur. In beide databases worden dingen gewijzigd en toegevoegd. Nu ben ik op zoek naar een script dat een tabel in de database kan synchroniseren. Ik heb hier zelf al even over nagedacht, en het nodige op internet gezocht. Ik heb iets gelezen over master en slave binnen mysql zelf. maar volgens mij is dat slechts een kant op.
Zelf loop ik hier op vast:
Ik denk dat er twee opties zijn,
OPTIE 1
de wijzigingen in db1 naar db2 schrijven, die kan ik selecteren omdat ik in de tabel een veld heb die een waarde krijgt als er wijzigingen in zijn. dat veld (flag) heeft ook een apparte waarde voor nieuwe records. Vervolgens de tabel in db1 legen, en de hele tabel uit db2 terug kopieren. en vervolgens alle flags weer legen.
Ik denk dat dit op den duur traag wordt omdat je tabel groeit. en alle gegevens terug kopieren gewoon veel tijd gaat kosten.
OPTIE 2
Weer de wijzigingen/inserts selecteren in een van beide tabellen, die naar de ander schrijven flags in de eerste tabel weer op nul zetten dan hetzelfde herhalen voor de andere tabel.
hier denk ik dat het een probleem wordt als je wijzigingen gaat doen in een van beide tabellen omdat op den duur de id's niet meer gelijk zijn. Want als ik in db1 & 2 allebei 10 records heb, en ik voeg in beide een toe, en dan ga ik synchroniseren, zullen de nieuwe records in de twee tabellen een ander id hebben. namelijk 11 & 12, en voor de andere tabel 12 & 11.
Het is misschien een idee om een extra soort id te maken die voor ieder record 100% uniek is, iets met een timestamp oid. Maar dat is niet helemaal waterdicht.
misschien zijn er andere opties, of is er een systeem om die id's gelijk te houden. In ieder geval is alle hulp welkom