Jak verzovat databázi? rubrika: Programování: PHP
Způsobů je víc. Zajímalo by mě, co se osvědčuje v praxi. Díky.
Verzování databáze je z mých zkušeností dlouhodobě těžko řešitelný problém, ale něco málo se v tomto ohledu dá přeci jenom udělat.
Na současném projektu používáme balík Doctrine migrations. Projekt vyvíjíme nad Symfony 2 spolu s Doctrine 2, což zaručuje jeho snadné použití, nicméně balík se dá použít i samostatně (https://github.com/doctrine/migrations - pouze se zdá, že mají aktuálně nějaký problém s dokumentací).
V principu funguje tak, že píšete jednotlivé migrace, což jsou PHP třídy, které mají vždy metodu up a down. Metoda up slouží pro migraci dopředu, metoda down pro vrácení změny zpět. To, v jaké verzi máme databázi, zajišťují záznamy v jedné databázové tabulce (konkrétně nese název migration_versions).
Princip je to tedy jednoduchý a funkční. Nicméně stále platí, že ani tento systém nás nezachrání, pokud budeme psát SQL změny nekompatibilně a nebezpečně.
Pro zobrazení všech 14 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře