Niestety Ebean może tworzyć tylko CREATE DDL (a nie UPDATE DDL ) (zgodnie z odpowiedzią w ich grupie), dlatego musisz jak najszybciej przejść na ręczne ewolucje.
niektóre zasady:
- Zawsze twórz kopię zapasową aktualnej bazy danych przed wprowadzeniem jakichkolwiek zmian :)
- Wtyczka ebean odtwarza całe DDL, jeśli ma tylko
1.sqlewolucja przez nią stworzona - Musisz usunąć dwa pierwsze komentarze z pliku
1.sqli zacznij pisać własne ewolucje z kolejnymi numerami2.sql,3.sqlitp. Spróbuj umieścić jak najwięcej modeli/pól przed przejściem na ewolucje ręczne. Największa część zostanie wykonana automatycznie przez wtyczkę. - ręczne ewolucje powinny zawierać
ALTERSdo istniejących tabel/kolumn zamiast DROP/CREATE, powinny mieć oba:UpsiDownsdla każdej zmiany. - spróbuj umieścić jak najwięcej zmian w każdej ewolucji, łatwiej jest zarządzać niż pisać oddzielną ewolucję dla każdej małej zmiany.
De facto czasami po prostu łatwiej jest zmodyfikować strukturę DB za pomocą interfejsu użytkownika DB, w każdym razie działa to głównie dla pojedynczego programisty... kiedy musisz udostępnić swój kod innym programistom piszącym ewolucje, będzie lepszym rozwiązaniem.
Jeśli po pewnym czasie dodasz kolejną 'dużą' porcję nowych modeli, możesz ponownie włączyć tymczasowe auto DDL i używając lokalnego git'u tylko do kopiowania nowych części. Następnie wróć do własnej rewolucji i wklej nowe części wygenerowane przez wtyczkę Ebean.