Diretrizes gerais
Certifique-se sempre de fazer backup do banco de dados antes de iniciar o processo de atualização executandodocker exec -it {db_container_name_or_id} pg_dumpall -U {postgres_user} > databases_backup.sql.
Para restaurar o backup, execute cat databases_backup.sql | docker exec -i {db_container_name_or_id} psql -U {postgres_user}.
Se você usou o Docker Compose, siga estas etapas:
-
No terminal, no host onde o Twenty está em execução, desligue o Twenty:
docker compose down -
Atualize a versão alterando o valor
TAGno arquivo .env próximo ao seu docker-compose. (Recomendamos consumir a versãomajor.minorcomov0.53) -
Traga o Twenty de volta ao ar com
docker compose up -d
Etapas de atualização específicas da versão
v1.0
Olá Twenty v1.0! 🎉v0.60
Melhorias de Performance
Todas as interações com a API de metadados foram otimizadas para um melhor desempenho, particularmente para manipulação de metadados de objetos e operações de criação de espaço de trabalho. Reformulamos nossa estratégia de cache para priorizar acertos de cache em detrimento de consultas ao banco de dados sempre que possível, melhorando significativamente o desempenho das operações da API de metadados. Se você encontrar problemas de execução após a atualização, pode ser necessário limpar seu cache para garantir que esteja sincronizado com as alterações mais recentes. Execute este comando em seu contêiner do twenty-server:v0.55
Atualize sua instância do Twenty para usar a imagem v0.55 Você não precisa mais executar nenhum comando, a nova imagem cuidará automaticamente de executar todas as migrações necessárias.Erro User does not have permission
Se você encontrar erros de autorização na maioria das solicitações após a atualização, pode ser necessário limpar seu cache para recálculo das permissões mais recentes.
Em seu contêiner twenty-server, execute:
v0.54
Desde a versão0.53, nenhuma ação manual é necessária.
Desativação do esquema de metadados
Mesclamos o esquemametadata no core para simplificar a recuperação de dados do TypeORM.
Mesclamos o passo do comando migrate dentro do comando upgrade. Não recomendamos a execução manual do migrate em nenhum de seus servidores/conteineres de trabalho.
Desde v0.53
A partir de0.53, a atualização é feita programaticamente dentro do DockerFile, o que significa que, a partir de agora, você não precisará mais executar nenhum comando manualmente.
Certifique-se de manter atualizando sua instância sequencialmente, sem pular qualquer versão principal (por exemplo, 0.43.3 para 0.44.0 é permitido, mas 0.43.1 para 0.45.0 não é), caso contrário, pode levar a uma desincronização na versão do espaço de trabalho que pode resultar em erro de tempo de execução e funcionalidade ausente.
Para verificar se um espaço de trabalho foi migrado corretamente, você pode revisar sua versão no banco de dados na tabela core.workspace.
Deve estar sempre na faixa da versão major.minor atual da instância do Twenty, você pode ver a versão de sua instância no painel de administração (em /settings/admin-panel, acessível se seu usuário tiver a propriedade canAccessFullAdminPanel definida como verdadeira no banco de dados) ou executando echo $APP_VERSION em seu contêiner twenty-server.
Para corrigir uma versão de workspace dessincronizada, você terá que atualizar da versão correspondente do twenty seguindo o guia de atualização relacionado sequencialmente e assim por diante até alcançar a versão desejada.
Remoção do auditLog
Removemos o objeto padrão auditLog, o que significa que o tamanho do backup pode ser significativamente reduzido após esta migração.
v0.51 para v0.52
Atualize sua instância do Twenty para usar a imagem v0.52Tenho um espaço de trabalho bloqueado na versão entre 0.52.0 e 0.52.6
Infelizmente, 0.52.0 e 0.52.6 foram completamente removidos do dockerHub.
Você terá que atualizar manualmente a versão do espaço de trabalho para 0.51.0 no banco de dados e atualizar usando a versão twenty 0.52.11 seguindo o guia de atualização logo acima.
v0.50 para v0.51
Atualize sua instância do Twenty para usar a imagem v0.51v0.44.0 para v0.50.0
Atualize sua instância do Twenty para usar a imagem v0.50.0Mutação docker-compose.yml
Esta versão inclui uma mutaçãodocker-compose.yml para dar ao serviço worker acesso ao volume server-local-data.
Por favor, atualize seu docker-compose.yml local com v0.50.0 docker-compose.yml
v0.43.0 para v0.44.0
Atualize sua instância do Twenty para usar a imagem v0.44.0v0.42.0 para v0.43.0
Atualize sua instância do Twenty para usar a imagem v0.43.0(Opção 1) Migração do banco de dados
Manter a imagem postgres-spilo existente está ok, mas você terá que congelar a versão no seu docker-compose.yml para ser 0.43.0.(Opção 2) Migração do banco de dados
Se você quiser migrar seu banco de dados para a nova imagem postgres:16, siga estas etapas:- Faça dump do seu banco de dados do contêiner antigo postgres-spilo
- Atualize seu docker-compose.yml para usar a imagem postgres:16 como no arquivo docker-compose.yml.
- Restaure o banco de dados para o novo contêiner postgres:16
v0.41.0 para v0.42.0
Atualize sua instância do Twenty para usar a imagem v0.42.0- Removido:
FRONT_PORT,FRONT_PROTOCOL,FRONT_DOMAIN,PORT - Adicionado:
FRONTEND_URL,NODE_PORT,MAX_NUMBER_OF_WORKSPACES_DELETED_PER_EXECUTION,MESSAGING_PROVIDER_MICROSOFT_ENABLED,CALENDAR_PROVIDER_MICROSOFT_ENABLED,IS_MICROSOFT_SYNC_ENABLED
v0.40.0 para v0.41.0
Atualize sua instância do Twenty para usar a imagem v0.41.0- Removido:
AUTH_MICROSOFT_TENANT_ID
v0.35.0 para v0.40.0
Atualize sua instância do Twenty para usar a imagem v0.40.0- Adicionado:
IS_EMAIL_VERIFICATION_REQUIRED,EMAIL_VERIFICATION_TOKEN_EXPIRES_IN,WORKFLOW_EXEC_THROTTLE_LIMIT,WORKFLOW_EXEC_THROTTLE_TTL
v0.34.0 para v0.35.0
Atualize sua instância do Twenty para usar a imagem v0.35.0yarn database:migrate:prod aplicará as migrações à estrutura do banco de dados (esquemas core e metadata)
O yarn command:prod upgrade-0.35 cuida da migração de dados de todos os espaços de trabalho.
Variáveis de Ambiente
- Substituímos
ENABLE_DB_MIGRATIONSporDISABLE_DB_MIGRATIONS(o valor padrão agora éfalse, você provavelmente não precisará definir nada)
v0.33.0 para v0.34.0
Atualize sua instância do Twenty para usar a imagem v0.34.0yarn database:migrate:prod aplicará as migrações à estrutura do banco de dados (esquemas core e metadata)
O yarn command:prod upgrade-0.34 cuida da migração de dados de todos os espaços de trabalho.
Variáveis de Ambiente
- Removido:
FRONT_BASE_URL - Adicionado:
FRONT_DOMAIN,FRONT_PROTOCOL,FRONT_PORT
FRONT_DOMAIN, FRONT_PROTOCOL e FRONT_PORT.
Se FRONT_DOMAIN não estiver definido, a URL do frontend voltará para SERVER_URL.
v0.32.0 para v0.33.0
Atualize sua instância do Twenty para usar a imagem v0.33.0yarn command:prod cache:flush limpará o cache do Redis.
O comando yarn database:migrate:prod aplicará as migrações à estrutura do banco de dados (esquemas core e metadata)
O yarn command:prod upgrade-0.33 cuida da migração de dados de todos os espaços de trabalho.
A partir desta versão, a imagem twenty-postgres para DB tornou-se obsoleta e o twenty-postgres-spilo é usado em vez disso.
Se você quiser continuar usando a imagem twenty-postgres, basta substituir twentycrm/twenty-postgres:${TAG} por twentycrm/twenty-postgres em docker-compose.yml.
v0.31.0 para v0.32.0
Atualize sua instância do Twenty para usar a imagem v0.32.0 Migração de esquema e dadosyarn database:migrate:prod aplicará as migrações à estrutura do banco de dados (esquemas core e metadata)
O yarn command:prod upgrade-0.32 cuida da migração de dados de todos os espaços de trabalho.
Variáveis de Ambiente
Atualizamos a forma como lidamos com a conexão Redis.
- Removido:
REDIS_HOST,REDIS_PORT,REDIS_USERNAME,REDIS_PASSWORD - Adicionado:
REDIS_URL
.env para usar a nova variável REDIS_URL em vez dos parâmetros de conexão Redis individuais.
Também simplificamos a forma como lidamos com os tokens JWT.
- Removido:
ACCESS_TOKEN_SECRET,LOGIN_TOKEN_SECRET,REFRESH_TOKEN_SECRET,FILE_TOKEN_SECRET - Adicionado:
APP_SECRET
.env para usar a nova variável APP_SECRET em vez dos segredos dos tokens individuais (você pode usar o mesmo segredo de antes ou gerar uma nova string aleatória)
Conta Ligada
Se você estiver usando uma conta conectada para sincronizar seus e-mails e calendários do Google, precisará ativar a API People no console de administração do Google.
v0.30.0 para v0.31.0
Atualize sua instância do Twenty para usar a imagem v0.31.0 Migração de esquema e dados:yarn database:migrate:prod aplicará as migrações à estrutura do banco de dados (esquemas core e metadata)
O yarn command:prod upgrade-0.31 cuida da migração de dados de todos os espaços de trabalho.
v0.24.0 para v0.30.0
Atualize sua instância do Twenty para usar a imagem v0.30.0 Mudança radical: Para melhorar o desempenho, o Twenty agora requer que o cache redis seja configurado. Atualizamos nosso docker-compose.yml para refletir isso. Certifique-se de atualizar sua configuração e suas variáveis de ambiente adequadamente:yarn database:migrate:prod aplicará as migrações à estrutura do banco de dados (esquemas core e metadata)
O yarn command:prod upgrade-0.30 cuida da migração de dados de todos os espaços de trabalho.
v0.23.0 para v0.24.0
Atualize sua instância do Twenty para usar a imagem v0.24.0 Execute os seguintes comandos:yarn database:migrate:prod aplicará as migrações à estrutura do banco de dados (esquemas core e metadata)
O yarn command:prod upgrade-0.24 cuida da migração de dados de todos os espaços de trabalho.
v0.22.0 para v0.23.0
Atualize sua instância do Twenty para usar a imagem v0.23.0 Execute os seguintes comandos:yarn database:migrate:prod aplicará as migrações ao Banco de Dados.
O yarn command:prod upgrade-0.23 cuida da migração de dados, incluindo a transferência de atividades para tarefas/notas.
v0.21.0 para v0.22.0
Atualize sua instância do Twenty para usar a imagem v0.22.0 Execute os seguintes comandos:yarn database:migrate:prod aplicará as migrações ao Banco de Dados.
O comando yarn command:prod workspace:sync-metadata -f sincronizará a definição de objetos padrão com as tabelas de metadados e aplicará as migrações necessárias aos espaços de trabalho existentes.
O comando yarn command:prod upgrade-0.22 aplicará transformações de dados específicas para se adaptar às novas opções padrão de requestInstrumentationOptions do objeto.