C6Dados e ExtensõesBase de Dados e Mods

Compatibilidade de dados, versões e saves

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

0

Compatibilidade de dados, versões e saves garante que mudanças no banco, no mundo padrão, nos datapacks e nas migrations não quebrem carreiras existentes sem controle. À medida que o jogo evolui, novos campos, tabelas e regras podem ser adicionados, mas saves antigos precisam ser tratados com cuidado.

Esse item se conecta ao sistema de save, mas tem foco específico em conteúdo e dados. Um save pode depender de uma versão específica do schema, do banco mestre, de um datapack ou de regras antigas. Hoje já existe versionamento de schema via migrations dentro do banco e saves podem receber migrations ao carregar. Porém, ainda faltam metadados mais claros no sidecar do save, mensagens melhores de incompatibilidade, política explícita de compatibilidade e tratamento mais robusto de datapacks e versões de conteúdo.

Escopo incluído

  • Versionamento de schema
  • Versionamento de dados
  • Versionamento de datapacks
  • Compatibilidade com saves existentes
  • Migrations de saves
  • Migrations do banco mestre
  • Metadados de versão no banco
  • Metadados de versão no sidecar do save quando aplicável
  • Detecção de incompatibilidade
  • Mensagens claras de erro
  • Estratégia de upgrade de dados
  • Estratégia para campos novos
  • Estratégia para entidades removidas/alteradas
  • Compatibilidade entre datapack e versão do jogo
  • Logs de migração
  • Backups antes de operações sensíveis quando aplicável
  • Registro de dependências de conteúdo quando aplicável
  • Comunicação ao jogador quando um save não puder ser carregado

Fora de escopo

  • Compatibilidade eterna com qualquer versão antiga
  • Conversão perfeita de qualquer save quebrado
  • Suporte a mods desatualizados sem manutenção
  • Sincronização online de versões
  • Migração automática de qualquer alteração destrutiva
  • Garantia de que todo datapack antigo funcione para sempre
  • Recuperação completa de saves manualmente editados
  • Suporte a forks incompatíveis do banco
  • Atualização automática de conteúdo comunitário
  • Sistema público completo de dependências sem versão mínima
  • Refresh automático de master data em carreiras existentes quando isso puder quebrar a simulação
  • Política final de compatibilidade enquanto o jogo ainda estiver em desenvolvimento pesado

Critérios de conclusão

  • Saves possuem informação suficiente para detectar versão.
  • O jogo consegue aplicar migrations compatíveis.
  • Incompatibilidades são comunicadas claramente.
  • Datapacks informam versão e requisitos.
  • O jogo evita abrir dados incompatíveis de forma silenciosa.
  • Mudanças no schema não quebram saves válidos sem aviso.
  • Operações sensíveis podem gerar backup ou reduzir risco.
  • Erros de migração são registráveis.
  • O jogador entende quando uma carreira não pode ser carregada.
  • Saves registram dependências importantes de datapacks ou conteúdo externo quando aplicável.
  • O sistema permite evolução do jogo sem sacrificar carreiras longas sem necessidade.
  • Migrations órfãs ou não registradas deixam de representar risco de divergência entre ambientes.
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.