Saltar al contenido principal

Guías generales

Haga siempre una copia de seguridad de su base de datos antes de iniciar el proceso de actualización ejecutando:
docker exec -it {db_container_name_or_id} pg_dumpall -U {postgres_user} > databases_backup.sql
Para restaurar desde la copia de seguridad:
cat databases_backup.sql | docker exec -i {db_container_name_or_id} psql -U {postgres_user}
Si usa Docker Compose, siga estos pasos:
  1. Detenga Twenty: docker compose down
  2. Cambie el valor de TAG en el archivo .env junto a su docker-compose.yml
  3. Inicie Twenty: docker compose up -d
El servidor ejecuta automáticamente todas las migraciones de actualización necesarias al iniciarse. No se requiere ningún comando manual.

Actualizaciones entre versiones (v1.22+)

A partir de la v1.22, Twenty admite actualizaciones entre versiones. Puede actualizar directamente desde cualquier versión compatible a la última versión sin tener que pasar por cada versión intermedia. Por ejemplo, actualizar de la v1.22 directamente a la v2.0 está totalmente admitido.

Actualización a v2.5+ — envoltura de cifrado de datos en reposo

A partir de la v2.5, Twenty almacena los secretos en reposo (tokens OAuth, variables de aplicación, claves privadas de firma, valores de configuración sensibles, secretos TOTP) dentro de una envoltura versionada enc:v2: cifrada con ENCRYPTION_KEY (o APP_SECRET si ENCRYPTION_KEY no está definido). El primer arranque en la v2.5 ejecuta comandos de actualización lentos que rellenan las filas existentes en la nueva envoltura. Son idempotentes: si se interrumpe y se reinicia el servidor, se reanuda desde donde se quedó, pero pueden tardar un tiempo en bases de datos grandes. Puedes supervisar el progreso con upgrade:status. Debes establecer una ENCRYPTION_KEY dedicada antes de la actualización a v2.5 para que el proceso de relleno escriba las filas bajo esa clave desde el principio. Cambiar de clave después del relleno requiere una rotación.

Rotación de secretos y claves de firma

Para las tareas operativas del día a día, como rotar ENCRYPTION_KEY, rotar la clave de firma JWT o revocar una clave de firma filtrada, consulta la Guía de rotación de claves.

Comprobación del estado de la actualización

El comando upgrade:status le permite inspeccionar el estado actual de su instancia y de las migraciones de los espacios de trabajo. Es útil para depurar problemas de actualización o al enviar una solicitud de soporte. Ejecútelo desde el contenedor del servidor:
docker exec -it {server_container_name_or_id} yarn command:prod upgrade:status
Salida de ejemplo:
APP_VERSION: v1.23.0

Instance
    Inferred version: 1.23.0
    Latest command:   1.23.0_DropWorkspaceVersionColumnFastInstanceCommand_1785000000000
    Status:           Up to date
    Executed by:      v1.23.0
    At:               2026-04-16T11:43:58.823Z

Workspace
  Apple (20202020-1c25-4d02-bf25-6aeccf7ea419)
      Inferred version: 1.23.0
      Latest command:   1.23.0_UpdateGlobalObjectContextCommandMenuItemsCommand_1780000005000
      Status:           Up to date
      Executed by:      v1.23.0
      At:               2026-04-16T11:44:09.361Z

Summary
    Instance: Up to date
    Workspaces: 1 up to date, 0 behind, 0 failed (1 total)

Opciones

OpciónDescripción
-w, --workspace-id <id>Filtra por un espacio de trabajo específico. Puede pasarse varias veces.
-f, --failed-onlyOculta los espacios de trabajo actualizados, y solo muestra los que están desactualizados o han fallado.

Solución de Problemas

Si la actualización falla en algunos espacios de trabajo, el servidor no avanzará más allá del paso con errores. Al reiniciar el servidor (docker compose up -d), se reintentará la actualización desde donde se detuvo. Para identificar rápidamente los problemas, ejecute:
docker exec -it {server_container_name_or_id} yarn command:prod upgrade:status --failed-only
Esto muestra únicamente los espacios de trabajo que están desactualizados o han fallado, junto con el mensaje de error de cada fallo.

Antes de la v1.22

Si su instancia es anterior a la v1.22, debe actualizar de forma incremental a través de cada versión principal etiquetada (de la v1.6 a la v1.7, luego de la v1.7 a la v1.8, y así sucesivamente) hasta llegar a la v1.22. A partir de ahí, puede actualizar directamente a la última versión.