Ich glaube, dass Liquibase großartig ist, wenn Ihre Philosophie ist, dass die Datenbank ein nachträglicher Einfall ist. Diese Philosophie hat die meisten schlechten Datenbanken in der Produktion verursacht - und die meisten von ihnen sind schlecht. Eine Datenbank sollte mit einer vollständigen Sicht auf das gesamte Geschäftssystem entworfen werden und nicht von Anwendungsentwicklern, die jeweils in ihren eigenen Silos arbeiten. Die letztgenannte Methode führt zu Work-arounds, denormalisierten Daten, schlechten Beziehungen zwischen Tabellen, doppelten Geschäftsbereichen und einem insgesamt unordentlichen, kostenintensiven System, das der Kunde kurz nach der Bereitstellung wegen der damit verbundenen Probleme hassen wird. Wenn eine Datenbank entworfen wird, um Geschäftsbeziehungen GENAU zu reflektieren, wird ihre Lebensdauer 5-mal so lang sein und wird ihren Zweck 5-mal besser erfüllen als einer, der stückweise entworfen wurde, wie leider die meisten sind.
Liquibase ist kein Problem für sich, aber es ermöglicht die Praxis, dass Anwendungsentwickler die Datenbank entwerfen. Das ist das Problem.
Aber nehmen wir an, wir erstellen eine Datei und schreiben unser erstes Skript darin und verpflichten es, sagen wir git. Jetzt, mit der Zeit, wird das Schema aktualisiert und wir können zu jedem Zeitintervall zurückgehen und das Schema auch zurück ändern, nein? – dosdebug
Mit diesem Ansatz können Sie das Schema _recreate_, aber Sie können nicht downgraden/upgraden. Der Unterschied ist der Verlust von Daten. – Synesso
Aaah, ich verstehe .... Ich habe deinen Standpunkt verstanden. – dosdebug