Skrypt uaktualniajacy

0

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?

0

hmm - czy jak wiem :-/ .. później może zrobić się mały chaos jeśli coyote.sql zostanie nie ruszane przy każdych zmianach a tylko te uaktualnienia bedą wszystko zmieniały. Po jakimś czasie tych uaktualnień się trochę zrobi i na dobrą sprawę nie będzie wiadomo jak wygląda sprawa tabel (nie zaglądając do bazy...). Może by jakoś to połączyc z coyote.sql .. - zeby sie automatycznie generowało ^^ ? :]

0

Nie no, plik coyote.sql powinien istniec nadal i byc na biezaco uaktualniany, gdyz bedzie potrzebny dla skryptu install.php.

1 użytkowników online, w tym zalogowanych: 0, gości: 1