[URL] https://amxx.pl/topic/135514-database-orm/
**Database ORM**
Wersja: **1.0.1b**
Wydana: **27 Czerwiec 2014**
Autor: **Backstabnoob**
# Opis
Database ORM jest kompleksowym API przystosowany do obsługi rożnych pluginów w
których chcemy zaimplementować zapis/odczyt danych z MySQL. API zostało
stworzone z myślą o serwerach które są bardzo mocno obciążone przez zapytania
do baz oraz o osobach które chciały by dodać zapis MySQL do pluginu lecz nie
potrafią, dzięki API możemy w łatwi sposób ograniczyć ilość zapytań/połączeń
oraz ogólnie zwiększyć wydajność MySQL. Do używania API zalecana jest średnia
znajomość AMXX, ponieważ w przypadku złego zastosowania może to odnieś skutek
odwrotny od zamierzonego
**UWAGA: Należy pamiętać, że jest to wersja beta i prawdopodobnie zawiera
kilka błędów. Przetestowałem to jak tylko mogłem sam, ale to jest trochę
trudne bez symulacji w czasie rzeczywistym. Tak więc prosił bym osoby które
tego używają na swoich serwera o zgłaszanie błędów itp.**
# Możliwości
System ten może być przydatny w wielu aspektach, ale są pewne rzeczy w których
lepiej go nie wykorzystywać.
Możemy go wykorzystać do:
* Zapis Exp
* Statystyki Graczy
* Banki
* Statystyki Serwera
* Itp.
Nie zalecam używać go do:
* Proste rzeczy które mogą być zastąpione przez prosty config bądź też cvar.
**Upraszczając: Używaj przy API zdrowego rozsądku, aby nie
przesadzić
![[Image: tongue.png]](https://amxx.pl/public/style_emoticons/default/tongue.png)
# Wymagania
AMXX 1.8.3 ( do testów została użyta wersja git3921 ), na wersji 1.8.2 i
niższej występują błędy.
Serwer Steam
![[Image: smile.png]](https://amxx.pl/public/style_emoticons/default/smile.png)
# Instalacja oraz Konfiguracja
**Instalacja**
Pobierz plik **_database_orm.sma_** po czym go skompiluj i wrzuć do folderu
plugins.
Pobierz plik **_orm_config.ini_** po czym wrzuć go do folderu configs i
uzupełnij poprawnie.
**Konfiguracja**
orm_hostname
Adres serwera bazy danych
orm_username
Użytkownik bazy danych
orm_password
Hasło użytkownika bazy danych
orm_database
Nazwa bazy danych
orm_saveperiod
Co ile ma być dokonywany zapis danych ( czas podajemy w sekundach ( domyślnie
1200.0 ( 20 minut ) )
Jeśli mamy serwer gdzie ciągle leci ta sama mapa 24/7/365 zostawiamy wartość
tak jak jest bądź zwiększamy, jeśli mamy serwer normalny gdzie mapy zmieniają
się co 20-30 min ustawiamy wartość na 0
orm_preparedquery
Opcje zapisu danych
* a - Kazdy gracz osobno ( przy wyjściu z serwera )
* b - Wszyscy na raz ( jest cvar orm_saveperiod jest różny od 0 )
* c - Statyczny ( przy jakiekolwiek zmianie w trakcie gry, działa podobnie do b i ma te same wymagania )
* d - W trakcie zmian ( zawsze kiedys cos usuniemy przez CSRP_Delete{ Player/Static }ClassItem( ) )
* e - Koniec Mapy ( Kiedy mapa jest zmieniana wszystko zostaje zapisane )
* f - Nuke ( gdy wystapi błąd w natywie CSRP_Nuke{ Player/Static }Class( ) )
orm_showsavemsg
Pokazuje wiadomośc o zapisanie danych, aktywne tylko gdy orm_saveperiod jest
różny od 0
# Podziękowania
**Hawk552** \- Pomysłodawca, pomoc z wieloma rzeczami, wspieranie
**Black Rose** \- Dyskusja, pomysły, ogólna pomoc gdy była potrzebna, wsparcie
# Lista Zmian
* 1.0.0
* Pierwsze Wydanie
* Data: 25 Czerwiec 2014
* 1.0.1b
* Zmiana [url=https://amxx.pl/dokumentacja/f1655/client-connect "Dokumentacja AMXX.pl: Core >> amxmodx > client_connect"]client_connect
![[Image: favicons.png]](https://amxx.pl/favicons.png)
![[Image: favicons.png]](https://amxx.pl/favicons.png)
* Poprawka **UTIL_FindInX** który czasem wysypał jakiś błąd
* Data: 27 Czerwiec 2014
# Pobierz
Include
[
[**database_orm.inc**](https://amxx.pl/index.php?app=core&modul...h_id=67001
"Pobierz załącznik") **11,02 KB** 204 Ilość pobrań
SMA
[
[**database_orm.sma**](https://amxx.pl/index.php?app=core&modul...h_id=67002
"Pobierz załącznik") **64,19 KB** 243 Ilość pobrań
[
![[Image: amxx.gif]](http://amxx.pl/public/style_extra/mime_types/amxx.gif)
"Pobierz plik AMXX")
Konfiguracja
[
[**orm_config.ini**](https://amxx.pl/index.php?app=core&modul...h_id=67003
"Pobierz załącznik") **350 bajtów** 193 Ilość pobrań
_Źródło:[https://forums.allie...ad.php?t=242833](https://forums.alliedmods.net/showthread.php?t=242833
"Zewnętrzny odnośnik")_
Załączniki:
database_orm.inc
database_orm.sma
database_orm_nick.sma
orm_bank.sma