Apache Derby: aktualizacja wersji
Aktualizacja wersji (upgrade)
Gdy zmieni się wersja systemu Apache Derby nadal można korzystać z baz danych utworzonych w poprzedniej wersji, ale nie można korzystać z nowych cech systemu Derby. Jest to tak zwany miękka aktualizacja (soft upgrade).
Aby móc korzystać z nowych cech systemu Derby należy dokonać tzw. pełnej aktualizacji (full upgrade) bazy danych
Pełna aktualizacja dokonuje zmian w tabelach systemowych i oznacza bazę danych jako zaktualizowaną do nowej wersji.
Aktualizacja pełna jest nieodwracalna i nie ma możliwości przywrócenia bazy danych do poprzedniej wersji, a więc i korzystania z niej przy użyciu poprzedniej wersji systemu Apache Derby.
Nie jest możliwe zaktualizowanie bazy danych zapisanej na mediach tylko do odczytu np. CD czy DVD
Przygotowanie do aktualizacji
- Wykonaj kopię zapasową bazy przed pierwszym połączeniem
- W razie potrzeby zaktualizuj ścieżki CLASSPATH i MODULEPATH tak, aby prowadziły wyłącznie do plików JAR nowej wersji. Można to sprawdzić przy użyciu narzędzia sysinfo. Wystarczy wprowadzić z linii poleceń Windows komendę
java org.apache.derby.tools.sysinfo
Aktualizacja
Aktualizacja następuje przez połączenie z bazą danych
Aktualizacja miękka
Po prostu łączysz się z bazą danych tak jak dotychczas
jdbc:derby:c:/java/rozliczeniadb
Aktualizacja pełna
Łączysz się z bazą danych dodając atrybut 'upgrade=true'
do połączenia.
jdbc:derby:c:/java/rozliczeniadb;upgrade=true
Przykład
Klasa R114_Upgrade
package aderby.security; import aderby.DerbyUtil; import java.sql.Connection; public class R114_Upgrade { public static void main(String[] args) { DerbyUtil.startDerbyEngine(DerbyUtil.embdriver); Connection con = DerbyUtil.connectEmbeddedDB("c:/bt4", ";upgrade=true"); DerbyUtil.shutdownEmbeddedDB("c:/bt4"); DerbyUtil.shutdownDerbyEngine(); } }