Zum Hauptinhalt springen
Header

Allgemeine Richtlinien

Always make sure to back up your database before starting the upgrade process by running docker exec -it {db_container_name_or_id} pg_dumpall -U {postgres_user} > databases_backup.sql. To restore backup, run cat databases_backup.sql | docker exec -i {db_container_name_or_id} psql -U {postgres_user}. Wenn Sie Docker Compose verwendet haben, befolgen Sie diese Schritte:
  1. Schalten Sie Twenty in einem Terminal auf dem Host, auf dem Twenty läuft, mit docker compose down aus.
  2. Aktualisieren Sie die Version, indem Sie den TAG-Wert in der .env-Datei in der Nähe Ihrer docker-compose ändern. (Wir empfehlen die Verwendung der Version major.minor, wie z.B. v0.53)
  3. Schalten Sie Twenty mit docker compose up -d wieder ein.
Wenn Sie Ihre Instanz um einige Versionen aktualisieren möchten, z. B. von v0.33.0 auf v0.35.0, müssen Sie Ihre Instanz der Reihe nach upgraden, in diesem Beispiel von v0.33.0 auf v0.34.0 und dann von v0.34.0 auf v0.35.0. Stellen Sie sicher, dass Sie nach jeder aktualisierten Version ein nicht-korrumpiertes Backup haben.

Versionsspezifische Upgrade-Schritte

v1.0

Hallo Twenty v1.0! 🎉

v0.60

Leistungsverbesserungen

Alle Interaktionen mit der Metadata-API wurden für eine bessere Leistung optimiert, insbesondere für die Manipulation von Objektmetadaten und die Erstellung von Arbeitsbereichen. Wir haben unsere Caching-Strategie umstrukturiert, um Cache-Treffer gegenüber Datenbankabfragen zu priorisieren, was die Leistung von Metadata-API-Operationen erheblich verbessert. Wenn Sie nach dem Upgrade auf Laufzeitprobleme stoßen, müssen Sie möglicherweise Ihren Cache leeren, um sicherzustellen, dass er mit den neuesten Änderungen synchronisiert ist. Führen Sie diesen Befehl in Ihrem Twenty-Server-Container aus:
yarn command:prod cache:flush

v0.55

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.55-Image zu verwenden. Sie müssen keinen Befehl mehr ausführen, das neue Image kümmert sich automatisch um alle erforderlichen Migrationen.

Fehler: Benutzer hat keine Berechtigung

Wenn Sie nach dem Upgrade bei den meisten Anfragen auf Autorisierungsfehler stoßen, müssen Sie möglicherweise Ihren Cache leeren, um die neuesten Berechtigungen neu zu berechnen. Führen Sie dies in Ihrem twenty-server-Container aus:
yarn command:prod cache:flush
Dieses Problem ist spezifisch für diese Twenty-Version und sollte bei zukünftigen Upgrades nicht erforderlich sein.

v0.54

Seit Version 0.53 sind keine manuellen Aktionen mehr erforderlich.

Veraltung des Metadatenschemas

Wir haben das metadata-Schema in das core-Schema integriert, um die Datenwiederherstellung aus TypeORM zu vereinfachen. Wir haben den migrate-Befehlschritt in den upgrade-Befehl integriert. Wir empfehlen nicht, migrate manuell in einem Ihrer Server-/Arbeitsprozess-Container auszuführen.

Ab v0.53

Ab Version 0.53 wird das Upgrade programmgesteuert innerhalb des DockerFile durchgeführt, was bedeutet, dass Sie von nun an keinen Befehl mehr manuell ausführen müssen. Stellen Sie sicher, dass Sie Ihre Instanz weiterhin schrittweise aktualisieren, ohne eine Hauptversion zu überspringen (z. B. ist 0.43.3 auf 0.44.0 erlaubt, aber 0.43.1 auf 0.45.0 nicht), sonst könnte dies zu einer Desynchronisation der Arbeitsbereichsversion führen, die zu Laufzeitfehlern und fehlenden Funktionalitäten führen könnte. Um zu überprüfen, ob ein Arbeitsbereich korrekt migriert wurde, können Sie seine Version in der Datenbank in der Tabelle core.workspace überprüfen. Es sollte immer im Bereich Ihrer aktuellen Twenty-Instanz major.minor-Version liegen, Sie können Ihre Instanzversion im Admin-Panel (unter /settings/admin-panel, zugänglich, wenn Ihr Benutzer die Eigenschaft canAccessFullAdminPanel in der Datenbank auf true gesetzt hat) oder durch Ausführen von echo $APP_VERSION in Ihrem twenty-server-Container anzeigen. Um eine desynchronisierte Arbeitsbereichsversion zu korrigieren, müssen Sie von der entsprechenden Twenty-Version aus aktualisieren, indem Sie die zugehörige Upgrade-Anleitung der Reihe nach befolgen, bis Sie die gewünschte Version erreichen.

Entfernung des auditLog

Wir haben das standardmäßige auditLog-Objekt entfernt, was bedeutet, dass sich die Größe Ihres Backups nach dieser Migration möglicherweise erheblich reduziert.

v0.51 auf v0.52

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.52-Image zu verwenden.
yarn database:migrate:prod
yarn command:prod upgrade

Ich habe einen Arbeitsbereich, der in der Version zwischen 0.52.0 und 0.52.6 blockiert ist.

Leider wurden 0.52.0 und 0.52.6 vollständig von dockerHub entfernt. Sie müssen Ihre Arbeitsbereichsversion manuell auf 0.51.0 in der Datenbank aktualisieren und mit der Twenty-Version 0.52.11 gemäß der obigen Upgrade-Anleitung aktualisieren.

v0.50 bis v0.51

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.51-Image zu verwenden.
yarn database:migrate:prod
yarn command:prod upgrade

v0.44.0 bis v0.50.0

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.50.0-Image zu verwenden.
yarn database:migrate:prod
yarn command:prod upgrade

Docker-compose.yml Verlagerung

Diese Version enthält eine Mutation von docker-compose.yml, um dem worker-Dienst Zugriff auf das server-local-data-Volume zu geben. Bitte aktualisieren Sie Ihre lokale docker-compose.yml mit der docker-compose.yml v0.50.0

v0.43.0 bis v0.44.0

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.44.0-Image zu verwenden.
yarn database:migrate:prod
yarn command:prod upgrade

v0.42.0 bis v0.43.0

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.43.0-Image zu verwenden.
yarn database:migrate:prod
yarn command:prod upgrade
In dieser Version haben wir auch auf das postgres:16-Image in docker-compose.yml umgestellt.

(Option 1) Datenbankmigration

Es ist in Ordnung, das vorhandene postgres-spilo-Image zu behalten, aber Sie müssen die Version in Ihrer docker-compose.yml auf 0.43.0 einfrieren.

(Option 2) Datenbankmigration

Wenn Sie Ihre Datenbank auf das neue postgres:16-Image migrieren möchten, befolgen Sie bitte diese Schritte:
  1. Dumpen Sie Ihre Datenbank aus dem alten postgres-spilo-Container
docker exec -it twenty-db-1 sh
pg_dump -U {YOUR_POSTGRES_USER} -d {YOUR_POSTGRES_DB} > databases_backup.sql
exit
docker cp twenty-db-1:/home/postgres/databases_backup.sql .
Stellen Sie sicher, dass Ihre Dump-Datei nicht leer ist.
  1. Aktualisieren Sie Ihre docker-compose.yml, um das postgres:16-Image gemäß der docker-compose.yml zu verwenden.
  2. Stellen Sie die Datenbank in den neuen postgres:16-Container wieder her.
docker cp databases_backup.sql twenty-db-1:/databases_backup.sql
docker exec -it twenty-db-1 sh
psql -U {YOUR_POSTGRES_USER} -d {YOUR_POSTGRES_DB} -f databases_backup.sql
exit

v0.41.0 bis v0.42.0

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.42.0-Image zu verwenden.
yarn database:migrate:prod
yarn command:prod upgrade-0.42
Umgebungsvariablen
  • Entfernt: FRONT_PORT, FRONT_PROTOCOL, FRONT_DOMAIN, PORT
  • Hinzugefügt: 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 bis v0.41.0

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.41.0-Image zu verwenden.
yarn database:migrate:prod
yarn command:prod upgrade-0.41
Umgebungsvariablen
  • Entfernt: AUTH_MICROSOFT_TENANT_ID

v0.35.0 bis v0.40.0

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.40.0-Image zu verwenden.
yarn database:migrate:prod
yarn command:prod upgrade-0.40
Umgebungsvariablen
  • Hinzugefügt: IS_EMAIL_VERIFICATION_REQUIRED, EMAIL_VERIFICATION_TOKEN_EXPIRES_IN, WORKFLOW_EXEC_THROTTLE_LIMIT, WORKFLOW_EXEC_THROTTLE_TTL

v0.34.0 bis v0.35.0

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.35.0-Image zu verwenden.
yarn database:migrate:prod
yarn command:prod upgrade-0.35
Der yarn database:migrate:prod-Befehl wendet die Migrationen auf die Datenbankstruktur (Kern- und Metadatenschemata) an Die yarn command:prod upgrade-0.35 kümmert sich um die Datenmigration aller Arbeitsbereiche. Umgebungsvariablen
  • Wir haben ENABLE_DB_MIGRATIONS durch DISABLE_DB_MIGRATIONS ersetzt (Standardwert ist jetzt false, Sie müssen wahrscheinlich nichts einstellen)

v0.33.0 bis v0.34.0

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.34.0-Image zu verwenden.
yarn database:migrate:prod
yarn command:prod upgrade-0.34
Der yarn database:migrate:prod-Befehl wendet die Migrationen auf die Datenbankstruktur (Kern- und Metadatenschemata) an Die yarn command:prod upgrade-0.34 kümmert sich um die Datenmigration aller Arbeitsbereiche. Umgebungsvariablen
  • Entfernt: FRONT_BASE_URL
  • Hinzugefügt: FRONT_DOMAIN, FRONT_PROTOCOL, FRONT_PORT
Wir haben die Handhabung der Frontend-URL aktualisiert. Sie können nun die Frontend-URL mit den Variablen FRONT_DOMAIN, FRONT_PROTOCOL und FRONT_PORT festlegen. Wenn FRONT_DOMAIN nicht gesetzt ist, wird die Frontend-URL auf SERVER_URL zurückfallen.

v0.32.0 bis v0.33.0

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.33.0-Image zu verwenden.
yarn command:prod cache:flush
yarn database:migrate:prod
yarn command:prod upgrade-0.33
Der yarn command:prod cache:flush-Befehl leert den Redis-Cache. Der yarn database:migrate:prod-Befehl wendet die Migrationen auf die Datenbankstruktur (Kern- und Metadatenschemata) an Die yarn command:prod upgrade-0.33 kümmert sich um die Datenmigration aller Arbeitsbereiche. Ab dieser Version wurde das twenty-postgres-Image für DB veraltet und es wird stattdessen twenty-postgres-spilo verwendet. Wenn Sie weiterhin das twenty-postgres-Image verwenden möchten, ersetzen Sie einfach twentycrm/twenty-postgres:${TAG} durch twentycrm/twenty-postgres in docker-compose.yml.

v0.31.0 bis v0.32.0

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.32.0-Image zu verwenden. Schema- und Datenmigration
yarn database:migrate:prod
yarn command:prod upgrade-0.32
Der yarn database:migrate:prod-Befehl wendet die Migrationen auf die Datenbankstruktur (Kern- und Metadatenschemata) an Die yarn command:prod upgrade-0.32 kümmert sich um die Datenmigration aller Arbeitsbereiche. Umgebungsvariablen Wir haben die Handhabung der Redis-Verbindung aktualisiert.
  • Entfernt: REDIS_HOST, REDIS_PORT, REDIS_USERNAME, REDIS_PASSWORD
  • Hinzugefügt: REDIS_URL
Aktualisieren Sie Ihre .env-Datei, um die neue REDIS_URL-Variable anstelle der einzelnen Redis-Verbindungsparameter zu verwenden. Wir haben auch die Handhabung der JWT-Token vereinfacht.
  • Entfernt: ACCESS_TOKEN_SECRET, LOGIN_TOKEN_SECRET, REFRESH_TOKEN_SECRET, FILE_TOKEN_SECRET
  • Hinzugefügt: APP_SECRET
Aktualisieren Sie Ihre .env-Datei, um die neue APP_SECRET-Variable anstelle der einzelnen Token-Geheimnisse zu verwenden (Sie können das gleiche Geheimnis wie zuvor verwenden oder einen neuen zufälligen String generieren). Verbundenes Konto Wenn Sie ein verbundenes Konto verwenden, um Ihre Google-E-Mails und -Kalender zu synchronisieren, müssen Sie die People API in Ihrer Google Admin-Konsole aktivieren.

v0.30.0 bis v0.31.0

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.31.0-Image zu verwenden. Schema- und Datenmigration:
yarn database:migrate:prod
yarn command:prod upgrade-0.31
Der yarn database:migrate:prod-Befehl wendet die Migrationen auf die Datenbankstruktur (Kern- und Metadatenschemata) an Die yarn command:prod upgrade-0.31 kümmert sich um die Datenmigration aller Arbeitsbereiche.

v0.24.0 bis v0.30.0

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.30.0-Image zu verwenden. Breaking change: To enhance performances, Twenty now requires redis cache to be configured. Wir haben unser docker-compose.yml aktualisiert, um dies zu reflektieren. Stellen Sie sicher, dass Sie Ihre Konfiguration aktualisieren und Ihre Umgebungsvariablen entsprechend anpassen:
REDIS_HOST={your-redis-host}
REDIS_PORT={your-redis-port}
CACHE_STORAGE_TYPE=redis
Schema- und Datenmigration:
yarn database:migrate:prod
yarn command:prod upgrade-0.30
Der yarn database:migrate:prod-Befehl wendet die Migrationen auf die Datenbankstruktur (Kern- und Metadatenschemata) an Die yarn command:prod upgrade-0.30 kümmert sich um die Datenmigration aller Arbeitsbereiche.

v0.23.0 bis v0.24.0

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.24.0-Image zu verwenden. Führen Sie die folgenden Befehle aus:
yarn database:migrate:prod
yarn command:prod upgrade-0.24
Der yarn database:migrate:prod-Befehl wendet die Migrationen auf die Datenbankstruktur (Kern- und Metadatenschemata) an Die yarn command:prod upgrade-0.24 kümmert sich um die Datenmigration aller Arbeitsbereiche.

v0.22.0 bis v0.23.0

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.23.0-Image zu verwenden. Führen Sie die folgenden Befehle aus:
yarn database:migrate:prod
yarn command:prod upgrade-0.23
Der yarn database:migrate:prod-Befehl wendet die Migrationen auf die Datenbank an. Die yarn command:prod upgrade-0.23 kümmert sich um die Datenmigration, einschließlich der Übertragung von Aktivitäten auf Aufgaben/Notizen.

v0.21.0 bis v0.22.0

Aktualisieren Sie Ihre Twenty-Instanz, um das v0.22.0-Image zu verwenden. Führen Sie die folgenden Befehle aus:
yarn database:migrate:prod
yarn command:prod workspace:sync-metadata -f
yarn command:prod upgrade-0.22
Der yarn database:migrate:prod-Befehl wendet die Migrationen auf die Datenbank an. Der Befehl yarn command:prod workspace:sync-metadata -f synchronisiert die Definitionen der Standardobjekte mit den Metadaten-Tabellen und wendet erforderliche Migrationen auf bestehende Arbeitsbereiche an. Der Befehl yarn command:prod upgrade-0.22 führt spezifische Datenumwandlungen durch, um sich an die neuen Objekt-Standardanfrage-Instrumentierungsoptionen anzupassen.