C6Dados e ExtensõesBase de Dados e Mods

Esquema canônico da base de dados

Em desenvolvimentocriado em 07/06/2026, 00:34 · atualizado em 07/06/2026, 16:36

0

O esquema canônico da base de dados define a estrutura oficial usada pelo FootSim para representar o mundo do jogo. Ele inclui tabelas, campos, relações, migrations, índices e regras estruturais que sustentam jogadores, clubes, competições, partidas, contratos, finanças, scouting, táticas, histórico, managers, árbitros e demais sistemas.

O núcleo do schema já sustenta o jogo atual e permite que carreiras funcionem sobre SQLite, migrations versionadas e tabelas de runtime. Porém, este item ainda deve permanecer em desenvolvimento porque há pontos reais de consolidação: migrations precisam estar sempre registradas e aplicadas na ordem correta, a documentação precisa refletir o schema real, e ainda existe desalinhamento entre algumas tabelas do banco, models Rust, queries e docs. Portanto, o schema é funcional, mas ainda não deve ser tratado como totalmente consolidado.

Escopo incluído

  • Estrutura principal do banco SQLite
  • Tabelas canônicas do jogo
  • Migrations versionadas
  • Registro e aplicação de migrations
  • Índices importantes
  • Chaves estrangeiras quando aplicável
  • Relações entre entidades principais
  • Tabelas de dados base
  • Tabelas de runtime da carreira
  • Tabelas de histórico
  • Tabelas de competições
  • Tabelas de jogadores
  • Tabelas de clubes
  • Tabelas de managers
  • Tabelas de árbitros quando aplicável
  • Tabelas de partidas
  • Tabelas de transferências
  • Tabelas de contratos
  • Tabelas de tática
  • Tabelas de scouting
  • Tabelas financeiras
  • Tabelas de match engine v2 quando aplicável
  • Compatibilidade básica com saves
  • Evolução incremental do schema
  • Alinhamento progressivo entre schema, models, queries e documentação

Fora de escopo

  • Documentação pública completa para modders
  • Editor visual de schema
  • Alteração livre do schema por mods
  • Banco online/multiplayer
  • Sincronização em nuvem
  • Suporte a múltiplos bancos relacionais
  • Migração automática perfeita entre qualquer versão antiga
  • Garantia de que todos os models já refletem todos os campos do banco
  • Garantia de que toda documentação esteja sempre atualizada no mesmo instante da migration
  • Sistema externo de ORM completo
  • Permitir que datapacks alterem arbitrariamente o schema
  • Considerar o schema totalmente fechado enquanto migrations, docs e models ainda tiverem drift

Critérios de conclusão

  • O jogo possui um schema central funcional.
  • Entidades principais são representadas no banco.
  • Migrations permitem evoluir a base de forma controlada.
  • Todas as migrations existentes estão registradas e aplicadas corretamente.
  • O schema sustenta saves de carreira.
  • O schema sustenta o banco mestre.
  • O banco permite relações entre jogadores, clubes, competições e partidas.
  • O schema é suficientemente estável para suportar o core do jogo.
  • Novos sistemas podem adicionar migrations sem reescrever a base.
  • Relações críticas têm integridade adequada quando possível.
  • O esquema canônico é usado como base para editor, importação, datapacks e saves.
  • A documentação principal do banco deixa de citar tabelas removidas ou caminhos incorretos.
  • O alinhamento entre schema, models, queries e docs é bom o bastante para evitar confusão estrutural.
Atualizações

Sem atualizações por enquanto.

Ainda sem comentários. Que tal abrir a conversa?
Entre para comentar.

Como funciona?

  1. Ideias

    A comunidade sugere funcionalidades, melhorias e mudanças para o FootSim. Cada ideia pode receber votos e comentários para ajudar a entender o interesse, os argumentos e os possíveis caminhos.

  2. Decisões

    Quando uma ideia precisa de uma escolha mais clara, ela pode virar uma decisão aberta, com uma pergunta, opções definidas e critérios de avaliação baseados nos valores do FootSim.

  3. Roadmap

    Quando uma decisão amadurece, ela pode entrar no roadmap e ter o seu desenvolvimento planejado, permitindo que todos acompanhem o avanço da sua implementação no jogo.