Sposoby na uaktualnianie struktury bazy danych

0

Czego używacie w swoich projektach podczas etapu tworzenia do uaktualniania bazy danych (MySQL)?

Miałem okazję popracować przy projekcie opartym na Doctrine i tam wystarczy odpalić jedno polecenie i cała struktura bazy się zaktualizuje (na podstawie definicji rozrzuconej po plikach - taka cecha Doctrine) nie tykając danych. Rewelacja.

Co jednak gdy projekt nie ma Doctrine? Co jakiś czas któryś z programistów wrzuca do SVN nowy plik .sql i aby uaktualnić bazę trzeba ją generalnie postawić od nowa więc wszelkie dane znikają.

Macie jakieś programy albo swoje sztuczki (poza zapisywaniem alterów na boku) związane z tematem?

0

ja tam używam prostego SQL :) alter.. add.. lub alter table .. modify .. coby nie mówić o przewagach świąt przy bliższym poznaniu MySQL jest przyjażniejszy niż Oracle, albo SQL server :)

0

@MiM: jak masz kilkadziesiąt tabel i ktoś doda kilka pól, kilka usunie i najczęściej robi to na bieżąco, to nie masz tych alterów. I właśnie o to się rozchodzi, by jakieś narzędzie umiało zrobić takiego diffa czy w inny sposób zautomatyzować zmiany bez niszczenia danych.

0

Polecam wpis w którym są linki do rozważań pewnej osoby dotyczących wersjonowania schematu bazy danych:
http://www.codinghorror.com/blog/2008/02/get-your-database-under-version-control.html

Ogólnie wystarczy tworzenie zapytań alter. Trzeba tylko albo aż przechowywać je w odpowiedniej kolejności. W ten sposób nie niszczymy danych. Oczywiście przed nałożeniem "łat" trzeba robić kopię bazy. Cały proces łatania powinien być robiony automatycznie a nie z palca.

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