Gerenciador de banco de dados centralizado

  • Gerenciador de banco de dados centralizado
  • Gerenciador de banco de dados centralizado
  • Gerenciador de banco de dados centralizado
  • Gerenciador de banco de dados centralizado
  • Gerenciador de banco de dados centralizado
  • Gerenciador de banco de dados centralizado
LeGrizzly
40 de inscritos
V2.0.0.0
1 595

Armazenamento centralizado e ferramentas de código VS para modders

SiloDB é uma ferramenta de infraestrutura essencial para Farming Simulator 25. Oferece aos criadores de mod um banco de dados centralizado e estruturado para armazenar informações de forma persistente, sem risco de conflito entre mods, graças a um sistema de isolamento "Namespace".

Chega de arquivos XML ou JSON complexos para gerenciar manualmente para cada mod. Com o SiloDB os dados são organizados, digitados e salvos automaticamente na pasta do jogo (Savegame).

Principais características:
- 📦 Sistema ORM completo: Defina seus modelos de dados (campos, tipos, valores padrão).
- 🛡️ Isolamento total: Cada mod possui seu próprio espaço de armazenamento (namespace).
- 💾 Persistência automática: os dados são vinculados ao backup atual.
- ⚡ Desempenho otimizado: mecanismo NoSQL leve baseado em JSON.
- 🛠️ Ferramentas de desenvolvedor: comandos de console incluídos para inspecionar e modificar o banco de dados em tempo real.
- 🔗 Configuração zero: Integra-se através de uma dependência simples em modDesc.xml.

Para impulsionar seu fluxo de trabalho, ele vem com uma extensão VS Code dedicada, incluindo IntelliSense, trechos de código e uma árvore dinâmica para inspecionar seus arquivos de banco de dados diretamente no editor.

---

Guia de primeiros passos (Moders)

Para usar o SiloDB em seu projeto, primeiro adicione a dependência em seu modDesc.xml:

1 <dependências>
2 <nome da dependência="FS25_SILODB" />
3 </dependências>

Exemplo de implementação (API v2.0):

Veja como inicializar a API, definir um modelo e salvar dados em poucas linhas:

-- 1. Inicialização (Acesso à API global)
SILODB local = g_globalMods["FS25_SILODB"]

se SILODB e SILODB.isReady() então
-- Conexão ao seu espaço de armazenamento dedicado
banco de dados local = SILODB.bind("FS25_MonMod")

-- 2. Definição do modelo (estrutura de dados)
db:define("Estatísticas do Jogador", {
campos = {
nome = { tipo = "string", obrigatório = verdadeiro },
pontos = { tipo = "número", padrão = 0 },
isVIP = { tipo = "booleano", padrão = falso },
opções = { tipo = "tabela" }
}
})

-- 3. Salvando dados (Definir/Criar)
local newRecord, err = db:create("PlayerStats", {
nome = "Grizzly",
pontos = 150,
éVIP = verdadeiro
})

se não errar então
print("Dados salvos com ID: " .. newRecord.id)
fim

-- Atualizando um registro existente
db:update("PlayerStats", newRecord.id, { pontos = 200 })
fim

---

Comandos do console (depuração):
- dbList <namespace>: Lista todas as chaves/modelos de um mod.
- dbGet <namespace> <model> <id>: Exibe o conteúdo de um registro.
- dbSet <namespace> <key> <value>: Modifica um valor simples rapidamente.

---

Envolva-se
Estamos procurando feedback! Se você deseja relatar um bug, solicitar um recurso ou sugerir uma integração, participe da conversa no GitHub.

Depósito e documentos:
SILODB: https://github.com/LeGrizzly/FS25_SILODB
Extensão VSCode: https://github.com/LeGrizzly/VS_Code_SILODB
Discord: https://discord.gg/7xUh3AsJPZ

Servidor
Consoles
Registro de alterações
2
  • Principais mudanças:
    - Rebranding completo: DBAPI passa a ser SILODB (modDesc, scripts, comandos de console e API).
    - Transição para ORM: Introdução de um sistema estruturado de gestão de dados (CRUD: Create, Update, Delete, Find).
    - Query Engine: Adicionado QueryEngine (filtragem, classificação, paginação) e SchemaValidator.

    Quebrando mudanças:
    - Remoção de Key-Value: Os antigos métodos getValue, setValue, deleteValue e listKeys são removidos.
    - Nova Exportação: Os scripts agora devem chamar SILODB em vez de DBAPI.

    Melhorias:
    - ExemploDbUsage.lua atualizado com tratamento de erros.

Créditos
Comentários
0