AI Core
Podstawyai-mysql

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ć:

env.cfg
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_string

env.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:

ConvarCo zmieniaDomyślnie
mysql_connection_stringGdzie jest baza danych: mysql://user:password@host:port/database?options lub forma key=value; (server=...;database=...;userid=...;password=...).mysql://root@localhost
mysql_slow_query_warningZapytania wolniejsze niż tyle milisekund są zgłaszane w konsoli.200
mysql_resultset_warningWyniki z większą liczbą wierszy są zgłaszane w konsoli.1000
mysql_transaction_isolation_level1 REPEATABLE READ, 2 READ COMMITTED, 3 READ UNCOMMITTED, 4 SERIALIZABLE.2
ai_mysql_shared_pool_sizePołączenia, które ai-mysql trzyma dla wszystkich skryptów zewnętrznych razem.10
ai_mysql_pool_sizePołą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-async i ghmattimysql (provide). @oxmysql/lib/MySQL.lua prowadzi 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źć.

Na tej stronie