Chyba #135
uzavřenýStrukturalizace upgradů DB na milníky
100%
Popis
Uchovávat v DB poslední úspěšnou provedenou změnu (tj. index pole u upgrade[n_revize]), aby nedocházelo k cyklické chybě upgradu.
Příklad:
===============================
+ ACCOUNTS
===============================+
+ id
account_attribute_id
===============================+
1. Mám dva SQL přikazy, které tvoří upgrade DB revize:
ALTER TABLE `accounts` DROP INDEX `account_attribute_id`;
ALTER TABLE `accounts` DROP INDEX `account_attribute_wtf_id`;
2. Poprvé pustím upgrade DB. První přikaz se provede ale u druhého to spadne.
3. Pokusím se o upgrade znovu a teď už to spadne na prvním, takže administrátor nemá šanci odstranit chybu bez toho aby odstranil předchozí změny.
Řešení:
Do tabulky config ukládat společně s hodnotou revize (db_schema_version) i hodnotu milníku (db_schema_version_last_made_operation), která by se mazala před započetím nového upgradu.
Problémy:
Nenude jednoduché to otestovat..