Ich war ein wenig überrascht zu entdecken, dass DDL-Anweisungen (alter table
, create index
etc) implizit die aktuelle Transaktion in MySQL committieren. Von MS SQL Server stammend, war die Möglichkeit, Datenbankänderungen in einer Transaktion lokal durchzuführen (die dann rückgängig gemacht wurde), ein wichtiger Teil meines Arbeitsablaufs. Bei der kontinuierlichen Integration wurde der Rollback verwendet, wenn die Migration aus irgendeinem Grund fehlschlug, so dass zumindest die Datenbank nicht in einem halb migrierten Zustand belassen wurde.Transactional DDL Workflow für MySQL
Wie lösen die Menschen diese beiden Probleme bei der Verwendung von MySQL mit Migrationen und fortlaufender Integration?
Kreuz posted on DBA: http://dba.stackexchange.com/q/90794/18273 – sennett
Willkommen in der wunderbaren Welt von MySQL :) –
Sind Sie sicher, dass der SQL Server DDL-Befehl die Transaktion nicht festschreibt? weil im OLCL-Befehl auch die Transaktion festgeschrieben wird. –