sql >> Databasteknik >  >> RDS >> Mysql

Transaktionellt DDL-arbetsflöde för MySQL

DDL-satser orsakar en implicit commit och det finns inget du kan göra åt det. Det finns inget sätt att stoppa detta beteende.

Vilka DDL-satser som har detta beteende ändras med tiden så du måste kontrollera din version.

5.1 http://dev.mysql.com/doc/refman/5.1/en/implicit-commit.html
5.5 http://dev.mysql.com/doc/refman/5.5/en/implicit-commit.html
5.6 http://dev.mysql.com/doc/refman/5.6/en/implicit-commit.html

När vi bara utökar schemat, nya tabeller/kolumner/vyer/procs/etc, som inte kommer att påverka befintlig kod så är automatisering OK, kolla bara efter fel och fixa dem.

När de kommer att påverka befintlig kod måste du utforma en strategi från fall till fall. Eftersom det inte finns någon återställning behöver du din egen backoutplan och du måste testa den noggrant.

Eftersom det är från fall till fall finns det inte mycket jag kan erbjuda i vägen för hjälp för just din situation.



  1. Ska det finnas en SQLiteOpenHelper för varje tabell i databasen?

  2. Konvertera från mysqli_query till mysqli förberedd sats med mysql LÖSENORD-funktionen

  3. Kommandoraden för export av Mysql XML-tabell

  4. Laravel Eloquent vs frågebyggare - Varför använda vältalig för att minska prestandan