Visão geral
O VillageSQL segue políticas claras de versionamento e compatibilidade para ajudar você a tomar decisões bem fundamentadas sobre implantação e atualizações.Versionamento do VillageSQL
O VillageSQL usa o Versionamento Semântico (SemVer) para comunicar a natureza e o impacto das mudanças em cada lançamento.Formato da versão
As versões seguem o formato: MAJOR.MINOR.PATCHRegras de incremento de versão
- Versão MAJOR (por exemplo, 1.0.0 → 2.0.0): mudanças incompatíveis que podem exigir modificações no código ou migrações de banco de dados
- Versão MINOR (por exemplo, 0.1.0 → 0.2.0): novos recursos e funcionalidades adicionados de forma compatível com versões anteriores
- Versão PATCH (por exemplo, 0.0.1 → 0.0.2): correções de bugs e pequenas melhorias compatíveis com versões anteriores
O VillageSQL está atualmente em desenvolvimento pré-1.0 (versão 0.x.x). Durante essa fase, as interfaces de API e de extensões podem mudar com mais frequência à medida que estabilizamos a plataforma.
Builds de desenvolvimento
Versões com um sufixo de pré-lançamento (por exemplo,0.0.6-dev) são builds de desenvolvimento. Por padrão, o servidor bloqueia atualizações a partir de um banco de dados inicializado com um build de desenvolvimento. Os builds de desenvolvimento não são testados quanto à compatibilidade de atualização e podem incluir mudanças incompatíveis de esquema ou de protocol.
Para permitir isso, inicie o servidor com --villagesql-allow-unsafe-dev-upgrade:
Atualizações mínimas
Iniciar o servidor com--upgrade=MINIMAL ignora as etapas de atualização que não são
absolutamente necessárias. As atualizações de esquema do VillageSQL não estão entre as etapas
ignoradas. Quando uma atualização do servidor é necessária e o servidor é iniciado nesse modo,
ele registra um aviso informando que ignorou a atualização do servidor e, em seguida, executa as
atualizações de esquema do VillageSQL se a versão de esquema do VillageSQL armazenada não corresponder à
versão do build.
--villagesql-allow-unsafe-dev-upgrade para permitir isso.
Mudanças de base de código
Cada versão do VillageSQL está vinculada a uma base de código — o fork upstream sobre o qual o servidor é compilado. Por exemplo,mysql-9.7_0.0.6 é a versão 0.0.6 da base de código
mysql-9.7. Números de versão de bases de código diferentes não são comparáveis, portanto uma
mudança entre bases de código não é uma atualização suportada: você pode atualizar de
mysql-9.7_0.0.5 para mysql-9.7_0.0.6, mas não de mysql-9.7_0.0.6 para
mysql-8.4_0.0.6.
Um diretório de dados registra a base de código do servidor que o criou, como
villagesql_schema_version.
Se você iniciar um servidor compilado a partir de uma base de código diferente nesse diretório de dados,
a inicialização falha e o log de erros nomeia as duas versões, no mesmo formato {codebase}_{version} usado por villagesql_schema_version:
--upgrade=MINIMAL
não contorna essa verificação.
Compatibilidade de extensões
As extensões do VillageSQL são específicas de cada versão. Uma extensão compilada para uma versão do VillageSQL pode não funcionar com outra versão. Ao atualizar o VillageSQL:- Verifique a compatibilidade da extensão com a nova versão
- Atualize ou recompile as extensões conforme necessário
- Teste as extensões em um ambiente de desenvolvimento antes da implantação em produção

