AI Core
Основноеai-mysql

ai-mysql

Движок базы данных для сторонних скриптов. Заменяет oxmysql, mysql-async и ghmattimysql.

ai-mysql подключает сторонние скрипты к вашей базе данных. Он отвечает на экспорты oxmysql и его файл @oxmysql/lib/MySQL.lua, а также на старые имена mysql-async и ghmattimysql, поэтому скрипты, написанные для любого из них, работают без изменений.

Скрипты ai-* не ходят через ai-mysql: каждый запускает движок базы данных AI Core (@aicore-fivem/mysql) внутри себя, со своим небольшим пулом соединений. ai-mysql является тем же движком, общим для всех сторонних скриптов.

Что он делает

  • oxmysql для других скриптов. exports.oxmysql:query(...), MySQL.query.await(...) и любой другой вызов oxmysql работают.
  • Старые API. Имена экспортов mysql-async (mysql_fetch_all, mysql_execute...) и ghmattimysql (execute, scalar...) тоже отвечают.
  • Проверка версии. Скрипты, которые читают версию oxmysql, видят 2.14.3, версию oxmysql, которой следует ai-mysql, поэтому они идут по своему современному пути кода.
  • Предупреждения о медленных запросах и очень больших результатах в консоли сервера, как в oxmysql.

Установка

Его устанавливает рецепт AI Core для txAdmin. Вручную:

Положите его на место

Положите папку в resources/[ai]/ и добавьте ensure ai-mysql в server.cfg перед ensure ai-core и перед любым скриптом, который использует базу данных.

Задайте подключение

В env.cfg задайте строку подключения и разрешите ai-mysql (и каждому скрипту ai-*, который использует базу данных) её читать:

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 из рецепта уже есть строка для каждого скрипта ai-*, которому она нужна.

Удалите oxmysql

Не устанавливайте рядом с ним oxmysql, mysql-async или ghmattimysql. Скрипты с dependency 'oxmysql' в манифесте запускаются нормально: ai-mysql считается oxmysql.

Настройки панели

Нет. ai-mysql настраивается convar’ами, теми же, что читает oxmysql, поэтому существующий server.cfg продолжает работать:

ConvarЧто меняетПо умолчанию
mysql_connection_stringГде находится база данных: mysql://user:password@host:port/database?options или форма key=value; (server=...;database=...;userid=...;password=...).mysql://root@localhost
mysql_slow_query_warningО запросах медленнее этого числа миллисекунд предупреждается в консоли.200
mysql_resultset_warningО результатах с числом строк больше этого предупреждается в консоли.1000
mysql_transaction_isolation_level1 REPEATABLE READ, 2 READ COMMITTED, 3 READ UNCOMMITTED, 4 SERIALIZABLE.2
ai_mysql_shared_pool_sizeСоединения, которые ai-mysql держит для всех сторонних скриптов вместе.10
ai_mysql_pool_sizeСоединения, которые каждый скрипт ai-* держит для себя.5

Команды

Нет. Админ-команда AI Core aicore_db [slow] печатает статистику базы данных каждого ресурса в консоли сервера (см. ai-core).

Привязки клавиш

Нет.

Работа с другими скриптами

  • Заменяет oxmysql, mysql-async и ghmattimysql (provide). @oxmysql/lib/MySQL.lua указывает на копию ai-mysql.
  • Скрипты ox_lib, QBCore, Qbox и ESX, которые используют oxmysql, работают на нём.

Известные ограничения

  • Поведение следует oxmysql 2.14.3. Скрипт, которому нужна функция более новой oxmysql, может её не найти.

На этой странице