Централизованный менеджер баз данных

  • Централизованный менеджер баз данных
  • Централизованный менеджер баз данных
  • Централизованный менеджер баз данных
  • Централизованный менеджер баз данных
  • Централизованный менеджер баз данных
  • Централизованный менеджер баз данных
LeGrizzly
40 подписчиков
V2.0.0.0
1 595

Централизованное хранилище и инструменты VS кода для моддеров.

SiloDB — это важный инфраструктурный инструмент для Farming Simulator 25. Он предлагает создателям модов централизованную и структурированную базу данных для постоянного хранения информации без риска конфликта между модами благодаря системе изоляции «пространства имен».

Больше не нужно управлять сложными файлами XML или JSON вручную для каждого мода. С помощью SiloDB данные систематизируются, типизируются и автоматически сохраняются в папке с игрой (Savegame).

Основные особенности:
- 📦 Полная система ORM: определите свои модели данных (поля, типы, значения по умолчанию).
- 🛡️ Полная изоляция: у каждого мода есть собственное пространство для хранения (пространство имен).
- 💾 Автоматическое сохранение: данные связаны с текущей резервной копией.
- ⚡ Оптимизированная производительность: облегченный движок NoSQL на основе JSON.
- 🛠️ Инструменты разработчика: включены консольные команды для проверки и изменения базы данных в режиме реального времени.
- 🔗 Нулевая конфигурация: интегрируется через простую зависимость в modDesc.xml.

Чтобы ускорить ваш рабочий процесс, в него включено специальное расширение VS Code, включающее IntelliSense, фрагменты кода и живое дерево для проверки файлов базы данных непосредственно в редакторе.

---

Руководство по началу работы (модераторы)

Чтобы использовать SiloDB в своем проекте, сначала добавьте зависимость в файл modDesc.xml:

1 <зависимости>
2 <имя зависимости="FS25_SILODB" />
3 </зависимости>

Пример реализации (API v2.0):

Вот как инициализировать API, определить шаблон и сохранить данные в несколько строк:

-- 1. Инициализация (Доступ к глобальному API)
локальный SILODB = g_globalMods["FS25_SILODB"]

если SILODB и SILODB.isReady(), то
-- Подключение к выделенному пространству для хранения данных
локальная база данных = SILODB.bind("FS25_MonMod")

-- 2. Определение модели (структура данных)
db:define("PlayerStats", {
поля = {
имя = {тип = "строка", требуется = true},
точки = {тип = "число", по умолчанию = 0},
isVIP = { type = "boolean", по умолчанию = false },
параметры = {тип = "таблица" }
}
})

-- 3. Сохранение данных (Установить/Создать)
local newRecord, err = db:create("PlayerStats", {
name = "Гризли",
баллы = 150,
isVIP = правда
})

если не ошибаюсь, то
print("Данные сохранены с идентификатором: " .. newRecord.id)
конец

-- Обновление существующей записи
db:update("PlayerStats", newRecord.id, {points = 200})
конец

---

Консольные команды (отладка):
- dbList <пространство имен>: список всех ключей/моделей мода.
- dbGet <пространство имен> <модель> <id>: отображает содержимое записи.
- dbSet <пространство имен> <ключ> <значение>: быстро изменяет простое значение.

---

Примите участие
Мы ждем отзывов! Если вы хотите сообщить об ошибке, запросить функцию или предложить интеграцию, присоединяйтесь к обсуждению на GitHub.

Депозит и документы:
SILODB: https://github.com/LeGrizzly/FS25_SILODB
Расширение VSCode: https://github.com/LeGrizzly/VS_Code_SILODB.
Дискорд: https://discord.gg/7xUh3AsJPZ

Сервер
Консоли
Список изменений
2
  • Основные изменения:
    - Полный ребрендинг: DBAPI становится SILODB (modDesc, скрипты, консольные команды и API).
    - Переход на ORM: Внедрение структурированной системы управления данными (CRUD: Создать, Обновить, Удалить, Найти).
    - Механизм запросов: добавлен QueryEngine (фильтрация, сортировка, разбиение на страницы) и SchemaValidator.

    Критические изменения:
    - Удаление ключа-значения: старые методы getValue, setValue, deleteValue и listKeys удалены.
    - Новый экспорт: сценарии теперь должны вызывать SILODB вместо DBAPI.

    Улучшения:
    — Обновлен файл exampleDbUsage.lua с обработкой ошибок.

Кредиты
Комментарии
0