Compatibilidade de dados, versões e saves
Em desenvolvimentocriado em 07/06/2026, 00:34 · atualizado em 07/06/2026, 00:34
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.
Sem atualizações por enquanto.