Gestore database centralizzato

  • Gestore database centralizzato
  • Gestore database centralizzato
  • Gestore database centralizzato
  • Gestore database centralizzato
  • Gestore database centralizzato
  • Gestore database centralizzato
LeGrizzly
40 gli iscritti
V2.0.0.0
1 595

Archiviazione centralizzata e strumenti di codice VS per modder

SiloDB è uno strumento di infrastruttura essenziale per Farming Simulator 25. Offre ai creatori di mod un database centralizzato e strutturato per archiviare informazioni in modo persistente, senza rischio di conflitto tra mod grazie a un sistema di isolamento "Namespace".

Niente più file XML o JSON complessi da gestire manualmente per ogni mod. Con SiloDB i dati vengono organizzati, digitati e salvati automaticamente nella cartella del gioco (Savegame).

Caratteristiche principali:
- 📦 Sistema ORM completo: definisci i tuoi modelli di dati (campi, tipi, valori predefiniti).
- 🛡️ Isolamento totale: ogni mod ha il proprio spazio di archiviazione (namespace).
- 💾 Persistenza automatica: i dati sono collegati al backup corrente.
- ⚡ Prestazioni ottimizzate: motore NoSQL leggero basato su JSON.
- 🛠️ Strumenti per sviluppatori: comandi della console inclusi per ispezionare e modificare il database in tempo reale.
- 🔗 Configurazione zero: si integra tramite una semplice dipendenza in modDesc.xml.

Per potenziare il tuo flusso di lavoro, viene fornito con un'estensione VS Code dedicata che include IntelliSense, frammenti di codice e un albero live per ispezionare i file del database direttamente nell'editor.

---

Guida introduttiva (moder)

Per utilizzare SiloDB nel tuo progetto, aggiungi prima la dipendenza nel tuo modDesc.xml:

1 <dipendenze>
2 <nome dipendenza="FS25_SILODB" />
3</dipendenze>

Esempio di implementazione (API v2.0):

Ecco come inizializzare l'API, definire un modello e salvare i dati in poche righe:

-- 1. Inizializzazione (accesso all'API globale)
SILODB locale = g_globalMods["FS25_SILODB"]

se SILODB e SILODB.isReady() allora
-- Connessione al tuo spazio di archiviazione dedicato
db locale = SILODB.bind("FS25_MonMod")

-- 2. Definizione del modello (struttura dei dati)
db:define("Statistiche giocatore", {
campi = {
nome = { tipo = "stringa", obbligatorio = vero },
punti = { tipo = "numero", predefinito = 0 },
isVIP = { tipo = "booleano", predefinito = false },
opzioni = { tipo = "tabella" }
}
})

-- 3. Salvataggio dei dati (Imposta / Crea)
newRecord locale, err = db:create("PlayerStats", {
nome = "Grizzly",
punti = 150,
isVIP = vero
})

altrimenti sbagli allora
print("Dati salvati con ID: " ..newRecord.id)
fine

-- Aggiornamento di un record esistente
db:update("PlayerStats", newRecord.id, { punti = 200 })
fine

---

Comandi della console (Debug):
- dbList <namespace>: elenca tutte le chiavi/modelli di un mod.
- dbGet <namespace> <model> <id>: visualizza il contenuto di un record.
- dbSet <namespace> <key> <value>: modifica rapidamente un valore semplice.

---

Lasciati coinvolgere
Cerchiamo feedback! Che tu voglia segnalare un bug, richiedere una funzionalità o suggerire un'integrazione, partecipa alla conversazione su GitHub.

Deposito e documenti:
SILODB: https://github.com/LeGrizzly/FS25_SILODB
Estensione VSCode: https://github.com/LeGrizzly/VS_Code_SILODB
Discordia: https://discord.gg/7xUh3AsJPZ

server
Console
Registro delle modifiche
2
  • Principali modifiche:
    - Rebranding completo: DBAPI diventa SILODB (modDesc, script, comandi console e API).
    - Transizione a ORM: Introduzione di un sistema strutturato di gestione dei dati (CRUD: Crea, Aggiorna, Cancella, Trova).
    - Motore di query: aggiunto QueryEngine (filtraggio, ordinamento, impaginazione) e SchemaValidator.

    Modifiche importanti:
    - Rimozione del valore-chiave: i vecchi metodi getValue, setValue, deleteValue e listKeys sono stati rimossi.
    - Nuova esportazione: gli script ora devono chiamare SILODB anziché DBAPI.

    Miglioramenti:
    - Aggiornato EsempioDbUsage.lua con gestione degli errori.

Titoli di coda
Commenti
0