Updater: Różnice pomiędzy wersjami
(Utworzył nową stronę „{{Dopracować}} Updater pobiera zawartość katalogów SQL51, nazwa_klienta/SQL, nazwa_klienta/SQL/nazwa_bazy. Przykładowa konfiguracja - katalog klienta INT. Przymu…”) |
|||
(Nie pokazano 11 wersji utworzonych przez 3 użytkowników) | |||
Linia 1: | Linia 1: | ||
{{Dopracować}} | {{Dopracować}} | ||
+ | Updater jest mechanizmem automatycznego uaktualniania struktury bazy danych i pobierania na serwer nowej wersji programu (jeżeli takowa została dla klienta wystawiona). Mechanizm działa w oparciu o linuksowy harmonogram zadań (cron.daily) i jest wywoływany codziennie o zdefiniowanej dla tego harmonogramu godzinie (zazwyczaj w godzinach nocnych).<br> | ||
+ | |||
+ | Updater łączy się z odpowiednim serwerem firmy INT i pobiera z niego pliki zmian SQL, które zostały zmodyfikowane w ciągu ostatniej doby. Podobnie pobierana jest wersja programu. Czyli jest to mechanizm jednostronny 'do klienta'.<br> | ||
+ | |||
+ | Po pobraniu plików SQL następuje ich automatyczny zapis do odpowiedniego katalogu na serwerze i wprowadzenie do bazy (czyli wykonanie SQLZmian). Wersja programu zostaje zapisana w katalogu zdefiniowanym w konfiguracji serwera (/etc/motlawa/motlawa.conf), zazwyczaj jest to katalog '''new'''. Wersja nie jest automatycznie zamieniana na wersję roboczą.<br> | ||
+ | |||
+ | Oprócz automatycznych SQLZmian funkcjonują również tzw. "SQL Pre" wykonywane ręcznie na serwerze. Z reguły zawierają one uaktualnienia bazy danych o funkcje przeznaczone nie dla wszystkich klientów (np. wykonywane z naszych programów deklaracje PIT czy VAT, których nie wykonują wszyscy klienci).<br> | ||
+ | |||
+ | Updater pobiera zawartość katalogów '''SQL''', '''SQL51''', '''nazwa_klienta/SQL''', '''nazwa_klienta/SQL/nazwa_bazy'''. | ||
+ | Pliki są serializowane w postaci nr_wersji.sql. (np 123.sql) Nie należy wykonywać update tabeli wersja - mechanizm updatera robi to sam. | ||
− | |||
Przykładowa konfiguracja - katalog klienta INT. | Przykładowa konfiguracja - katalog klienta INT. | ||
− | + | Przyjmujemy założenie, że klient jest tożsamy z serwerem lub serwerami - jeśli zaistnieje potrzeba rozróżnienia serwerów (a co za tym idzie wersji .exe) to należy utworzyć odpowiedni katalog. | |
+ | |||
+ | '''Katalog SQL''' - zmiany globalne - wszystkie zmiany struktur tabel i definicji widoków za wyjątkiem ''mocno uzasadnionych przypadków'', [[Trigger|triggery]] | ||
+ | |||
+ | '''Katalog SQL51''' - zmiany globalne, dla wszystkich klientów - globalnie używane procedury i funkcje składowane | ||
+ | |||
+ | '''Katalog nazwa_klienta/SQL''' zmiany dotyczące wszystkich baz danego klienta, głównie procedury i funkcje składowane specyficzne dla klienta. Unikamy jak ognia zmiany struktur, triggerów i redefinicji procedur, funkcji zdefiniowanych w SQL_STORED. | ||
+ | |||
+ | '''Katalog nazwa_klienta/SQL/nazwa_bazy''' zmiany dotyczące wyłącznie wskazanej bazy danego klienta, reszta zastrzeżeń j.w. | ||
+ | |||
+ | Wszystkie zmiany są serializowane - tabela [[wersja (tabela SQL)|wersja]] zawiera pola '''nr, nr51, nr_kl, nr_db''' odpowiadające za serializację zmian na odpowiednich poziomach. | ||
+ | |||
+ | Dopuszczalne jest przeniesienie procedury z katalogu klienta w górę hierarchii, ale nie odwrotnie! | ||
+ | |||
+ | |||
+ | '''Katalog nazwa_klienta''' <- chodzi o katalog na serwerze Gate ;) | ||
+ | |||
+ | = Katalogi na serwerze "Gate" = | ||
− | + | Dostęp zdalny do serwera: | |
+ | http://update.int.com.pl:56093/update/BIN/[IdKlienta]/ | ||
− | ''' | + | IdKlienta - Identyfikator klienta np. dla klienta "XYZ" będzie to ''http://update.int.com.pl:56093/update/BIN/XYZ/''' |
− | + | Oprócz katalogów z symbolami poszczególnych firm oraz katalogi SQL, na serwerze (Gate) znajdują się także katalogi systemowe | |
+ | * System - pliki systemowe dla systemu [[Motława]] | ||
+ | * Utils - dodatkowe aplikacje związane pośrednio z systemem Motława | ||
− | |||
− | + | [[Kategoria: MySQL]] | |
+ | [[Kategoria: Developer]] | ||
+ | [[Kategoria: System]] | ||
+ | [[Kategoria: Motława]] |
Aktualna wersja na dzień 11:32, 13 maj 2015
Ten artykuł wymaga dopracowania zgodnie z zaleceniami edycyjnymi. Po wyeliminowaniu wskazanych powyżej niedoskonałości prosimy usunąć szablon {{Dopracować}} z kodu tego artykułu. |
Updater jest mechanizmem automatycznego uaktualniania struktury bazy danych i pobierania na serwer nowej wersji programu (jeżeli takowa została dla klienta wystawiona). Mechanizm działa w oparciu o linuksowy harmonogram zadań (cron.daily) i jest wywoływany codziennie o zdefiniowanej dla tego harmonogramu godzinie (zazwyczaj w godzinach nocnych).
Updater łączy się z odpowiednim serwerem firmy INT i pobiera z niego pliki zmian SQL, które zostały zmodyfikowane w ciągu ostatniej doby. Podobnie pobierana jest wersja programu. Czyli jest to mechanizm jednostronny 'do klienta'.
Po pobraniu plików SQL następuje ich automatyczny zapis do odpowiedniego katalogu na serwerze i wprowadzenie do bazy (czyli wykonanie SQLZmian). Wersja programu zostaje zapisana w katalogu zdefiniowanym w konfiguracji serwera (/etc/motlawa/motlawa.conf), zazwyczaj jest to katalog new. Wersja nie jest automatycznie zamieniana na wersję roboczą.
Oprócz automatycznych SQLZmian funkcjonują również tzw. "SQL Pre" wykonywane ręcznie na serwerze. Z reguły zawierają one uaktualnienia bazy danych o funkcje przeznaczone nie dla wszystkich klientów (np. wykonywane z naszych programów deklaracje PIT czy VAT, których nie wykonują wszyscy klienci).
Updater pobiera zawartość katalogów SQL, SQL51, nazwa_klienta/SQL, nazwa_klienta/SQL/nazwa_bazy. Pliki są serializowane w postaci nr_wersji.sql. (np 123.sql) Nie należy wykonywać update tabeli wersja - mechanizm updatera robi to sam.
Przykładowa konfiguracja - katalog klienta INT. Przyjmujemy założenie, że klient jest tożsamy z serwerem lub serwerami - jeśli zaistnieje potrzeba rozróżnienia serwerów (a co za tym idzie wersji .exe) to należy utworzyć odpowiedni katalog.
Katalog SQL - zmiany globalne - wszystkie zmiany struktur tabel i definicji widoków za wyjątkiem mocno uzasadnionych przypadków, triggery
Katalog SQL51 - zmiany globalne, dla wszystkich klientów - globalnie używane procedury i funkcje składowane
Katalog nazwa_klienta/SQL zmiany dotyczące wszystkich baz danego klienta, głównie procedury i funkcje składowane specyficzne dla klienta. Unikamy jak ognia zmiany struktur, triggerów i redefinicji procedur, funkcji zdefiniowanych w SQL_STORED.
Katalog nazwa_klienta/SQL/nazwa_bazy zmiany dotyczące wyłącznie wskazanej bazy danego klienta, reszta zastrzeżeń j.w.
Wszystkie zmiany są serializowane - tabela wersja zawiera pola nr, nr51, nr_kl, nr_db odpowiadające za serializację zmian na odpowiednich poziomach.
Dopuszczalne jest przeniesienie procedury z katalogu klienta w górę hierarchii, ale nie odwrotnie!
Katalog nazwa_klienta <- chodzi o katalog na serwerze Gate ;)
Katalogi na serwerze "Gate"
Dostęp zdalny do serwera:
http://update.int.com.pl:56093/update/BIN/[IdKlienta]/
IdKlienta - Identyfikator klienta np. dla klienta "XYZ" będzie to http://update.int.com.pl:56093/update/BIN/XYZ/'
Oprócz katalogów z symbolami poszczególnych firm oraz katalogi SQL, na serwerze (Gate) znajdują się także katalogi systemowe
- System - pliki systemowe dla systemu Motława
- Utils - dodatkowe aplikacje związane pośrednio z systemem Motława