Scentralizowany menedżer baz danych

  • Scentralizowany menedżer baz danych
  • Scentralizowany menedżer baz danych
  • Scentralizowany menedżer baz danych
  • Scentralizowany menedżer baz danych
  • Scentralizowany menedżer baz danych
  • Scentralizowany menedżer baz danych
LeGrizzly
40 subskrybentów
V2.0.0.0
1 595

Scentralizowane narzędzia do przechowywania i kodu VS dla modderów

SiloDB to niezbędne narzędzie infrastrukturalne dla Farming Simulator 25. Oferuje twórcom modów scentralizowaną i ustrukturyzowaną bazę danych do trwałego przechowywania informacji, bez ryzyka konfliktu między modami, dzięki systemowi izolacji „przestrzeni nazw”.

Nigdy więcej skomplikowanych plików XML lub JSON do ręcznego zarządzania każdym modem. Dzięki SiloDB dane są organizowane, wpisywane i automatycznie zapisywane w folderze gry (Savegame).

Główne cechy:
- 📦 Kompletny system ORM: Zdefiniuj swoje modele danych (pola, typy, wartości domyślne).
- 🛡️ Całkowita izolacja: każdy mod ma własną przestrzeń dyskową (przestrzeń nazw).
- 💾 Automatyczne utrwalanie: dane są powiązane z bieżącą kopią zapasową.
- ⚡ Zoptymalizowana wydajność: lekki silnik NoSQL oparty na JSON.
- 🛠️ Narzędzia dla programistów: zawarte polecenia konsoli umożliwiające sprawdzanie i modyfikowanie bazy danych w czasie rzeczywistym.
- 🔗 Konfiguracja zerowa: integruje się poprzez prostą zależność w modDesc.xml.

Aby usprawnić przepływ pracy, dodano dedykowane rozszerzenie VS Code, w tym technologię IntelliSense, fragmenty kodu i aktywne drzewo umożliwiające sprawdzanie plików bazy danych bezpośrednio w edytorze.

---

Przewodnik wprowadzający (moderzy)

Aby użyć SiloDB w swoim projekcie, najpierw dodaj zależność w pliku modDesc.xml:

1 <zależności>
2 <nazwa zależności="FS25_SILODB" />
3 </zależności>

Przykład wdrożenia (API v2.0):

Oto jak zainicjować interfejs API, zdefiniować szablon i zapisać dane w kilku wierszach:

-- 1. Inicjalizacja (dostęp do globalnego API)
lokalny SILODB = g_globalMods["FS25_SILODB"]

jeśli SILODB i SILODB.isReady() to
-- Połączenie z dedykowaną przestrzenią dyskową
lokalny db = SILODB.bind("FS25_MonMod")

-- 2. Definicja modelu (struktura danych)
db:define("Statystyki Gracza", {
pola = {
nazwa = { typ = "string", wymagane = prawda },
punkty = { typ = "liczba", domyślnie = 0 },
isVIP = { typ = "boolean", domyślnie = fałsz },
opcje = { typ = "tabela" }
}
})

-- 3. Zapisywanie danych (Ustaw / Utwórz)
lokalny nowyRekord, err = db:create("Statystyki Gracza", {
imię = "Grizzly",
punkty = 150,
isVIP = prawda
})

jeśli nie to błąd
print("Dane zapisane z identyfikatorem: " .. newRecord.id)
koniec

-- Aktualizacja istniejącego rekordu
db:update("Statystyki Gracza", nowyRekord.id, {punkty = 200 })
koniec

---

Polecenia konsoli (debugowanie):
- dbList <przestrzeń nazw>: Lista wszystkich kluczy/modeli moda.
- dbGet <przestrzeń nazw> <model> <id>: Wyświetla zawartość rekordu.
- dbSet <przestrzeń nazw> <klucz> <wartość>: Szybka modyfikacja prostej wartości.

---

Zaangażuj się
Czekamy na opinie! Niezależnie od tego, czy chcesz zgłosić błąd, poprosić o funkcję lub zasugerować integrację, dołącz do rozmowy na GitHubie.

Kaucja i dokumenty:
SILODB: https://github.com/LeGrizzly/FS25_SILODB
Rozszerzenie VSCode: https://github.com/LeGrizzly/VS_Code_SILODB
Discord: https://discord.gg/7xUh3AsJPZ

serwer
Konsole
Dziennik zmian
2
  • Główne zmiany:
    - Całkowity rebranding: DBAPI zmienia się w SILODB (modDesc, skrypty, polecenia konsoli i API).
    - Przejście do ORM: Wprowadzenie ustrukturyzowanego systemu zarządzania danymi (CRUD: Utwórz, Aktualizuj, Usuń, Znajdź).
    - Query Engine: Dodano QueryEngine (filtrowanie, sortowanie, paginacja) i SchemaValidator.

    Przełomowe zmiany:
    - Usunięcie pary klucz-wartość: Usunięto stare metody getValue, setValue, DeleteValue i listKeys.
    - Nowy eksport: Skrypty muszą teraz wywoływać SILODB zamiast DBAPI.

    Ulepszenia:
    - Zaktualizowano plik exampleDbUsage.lua z obsługą błędów.

Kredyty
Uwagi
0