Co prawda, w TODO pozycja mowiaca o tym jest dopiero przy wersji 1.0 projektu Coyote, ale pisze o tym juz teraz, gdyz taki sam skrypt zostanie uzyty prawdopodobnie w projekcie RoadRunner.
Chodzi o uaktualnienia. Jak wiadomo, czesto w projekcie zachodza zmiany w strukturze tabel, co moze pozniej stwarzac problemy (gdy np. pobrane pliki wykorzystuja pola lub tabele ktorych nie ma w bazie danych). Nalezy wiec napisac odpowiedni skrypt ktory bedzie uaktualnial strukture tabel.
Proponuje nastepujace rozwiazanie: do tabeli coyote_config dodac dwa pola: VERSION oraz BUILID_DATE. Pierwsze bedzie zawierac aktualna wersje (np. 0.9.1-rc1) a drugie date z ktorej pochodzi struktura (np. 20020101, 20041005).
Nastepnie skrypt (nazwijmy go upgrade.php) mialby w uproszczeniu taka budowe:
<?php
/* aktualna wersja */
$version = 20030303;
switch ( $version )
{
case 20020505:
echo 'Update from 20020505<br>';
// instrukcje uaktualniajace
case 20030303:
echo 'Update from 20030303<br>';
// instrukcje uaktualniajace
case 20040101:
echo 'Update from 20040101<br>';
// instrukcje uaktualniajace
case 20041004:
echo 'Update from 20041004<br>';
// instrukcje uaktualniajace
$version = 20041005;
// zapisanie aktualnej wersji do bazy
}
echo "<hr>Current version: $version";
?>
Co myslicie o takim rozwiazaniu?