Chyba #135
Aktualizováno uživatelem Ondřej Fibich před téměř 12 roky(ů)
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 upgare 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..