ai-mysql
Silnik bazy danych dla skryptów zewnętrznych. Zastępuje oxmysql, mysql-async i ghmattimysql.
ai-mysql łączy skrypty zewnętrzne z twoją bazą danych. Odpowiada na eksporty oxmysql i jego plik @oxmysql/lib/MySQL.lua, a także na starsze nazwy z mysql-async i ghmattimysql, więc skrypty napisane dla każdego z nich działają bez zmian.
Skrypty ai-* nie przechodzą przez ai-mysql: każdy uruchamia w sobie silnik bazy danych AI Core (@aicore-fivem/mysql) z własną małą pulą połączeń. ai-mysql to ten sam silnik, współdzielony przez wszystkie skrypty zewnętrzne.
Co robi
- oxmysql dla innych skryptów.
exports.oxmysql:query(...),MySQL.query.await(...)i każde inne wywołanie oxmysql działa. - Stare API. Odpowiadają też nazwy eksportów mysql-async (
mysql_fetch_all,mysql_execute...) i ghmattimysql (execute,scalar...). - Sprawdzanie wersji. Skrypty, które czytają wersję oxmysql, widzą 2.14.3, wersję oxmysql, którą odwzorowuje ai-mysql, więc wybierają swoją nowoczesną ścieżkę kodu.
- Ostrzeżenia o wolnych zapytaniach i bardzo dużych wynikach w konsoli serwera, jak w oxmysql.
Instalacja
Instaluje go przepis txAdmin AI Core. Ręcznie:
Umieść go na miejscu
Włóż folder do resources/[ai]/ i dodaj ensure ai-mysql do server.cfg przed ensure ai-core i przed każdym skryptem, który używa bazy danych.
Ustaw połączenie
W env.cfg ustaw connection string i pozwól ai-mysql (oraz każdemu skryptowi ai-*, który używa bazy danych) go odczytać:
set mysql_connection_string "mysql://user:password@localhost/ai_core?charset=utf8mb4"
add_convar_permission ai-mysql read mysql_connection_string
add_convar_permission ai-core read mysql_connection_stringenv.cfg z przepisu ma już tę linię dla każdego skryptu ai-*, który jej potrzebuje.
Usuń oxmysql
Nie instaluj obok niego oxmysql, mysql-async ani ghmattimysql. Skrypty z dependency 'oxmysql' w manifeście startują normalnie: ai-mysql liczy się jako oxmysql.
Ustawienia w panelu
Brak. ai-mysql ustawia się convarami, tymi samymi, które czyta oxmysql, więc istniejący server.cfg działa dalej:
| Convar | Co zmienia | Domyślnie |
|---|---|---|
mysql_connection_string | Gdzie jest baza danych: mysql://user:password@host:port/database?options lub forma key=value; (server=...;database=...;userid=...;password=...). | mysql://root@localhost |
mysql_slow_query_warning | Zapytania wolniejsze niż tyle milisekund są zgłaszane w konsoli. | 200 |
mysql_resultset_warning | Wyniki z większą liczbą wierszy są zgłaszane w konsoli. | 1000 |
mysql_transaction_isolation_level | 1 REPEATABLE READ, 2 READ COMMITTED, 3 READ UNCOMMITTED, 4 SERIALIZABLE. | 2 |
ai_mysql_shared_pool_size | Połączenia, które ai-mysql trzyma dla wszystkich skryptów zewnętrznych razem. | 10 |
ai_mysql_pool_size | Połączenia, które każdy skrypt ai-* trzyma dla siebie. | 5 |
Komendy
Brak. Komenda administracyjna AI Core aicore_db [slow] wypisuje statystyki bazy danych każdego zasobu w konsoli serwera (zobacz ai-core).
Klawisze
Brak.
Współpraca z innymi skryptami
- Zastępuje
oxmysql,mysql-asyncighmattimysql(provide).@oxmysql/lib/MySQL.luaprowadzi do kopii w ai-mysql. - Skrypty ox_lib, QBCore, Qbox i ESX, które używają oxmysql, działają na nim.
Znane ograniczenia
- Zachowanie jest zgodne z oxmysql 2.14.3. Skrypt, który potrzebuje funkcji nowszego oxmysql, może jej nie znaleźć.