Als je met kleine databases werkt, heb ik ontdekt dat mysqldump op beide databases draait met de --skip-comments
en --skip-extended-insert
opties om SQL-scripts te genereren, dan werkt het uitvoeren van diff op de SQL-scripts redelijk goed.
Door opmerkingen over te slaan vermijd je betekenisloze verschillen, zoals de tijd waarop je de opdracht mysqldump hebt uitgevoerd. Met behulp van de --skip-extended-insert
commando zorgt u ervoor dat elke rij wordt ingevoegd met zijn eigen insert-instructie. Dit elimineert de situatie waarin een enkel nieuw of gewijzigd record een kettingreactie kan veroorzaken in alle toekomstige insert-statements. Als u met deze opties werkt, produceert u grotere dumps zonder opmerkingen, dus dit is waarschijnlijk niet iets dat u in productie wilt doen, maar voor ontwikkeling zou het goed moeten zijn. Ik heb voorbeelden van de commando's die ik gebruik hieronder gezet:
mysqldump --skip-comments --skip-extended-insert -u root -p dbName1>file1.sql
mysqldump --skip-comments --skip-extended-insert -u root -p dbName2>file2.sql
diff file1.sql file2.sql