
Allgemeine Richtlinien
Always make sure to back up your database before starting the upgrade process by runningdocker 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:
-
Schalten Sie Twenty in einem Terminal auf dem Host, auf dem Twenty läuft, mit
docker compose downaus. -
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 Versionmajor.minor, wie z.B.v0.53) -
Schalten Sie Twenty mit
docker compose up -dwieder ein.
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: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:
v0.54
Seit Version0.53 sind keine manuellen Aktionen mehr erforderlich.
Veraltung des Metadatenschemas
Wir haben dasmetadata-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 Version0.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.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.v0.44.0 bis v0.50.0
Aktualisieren Sie Ihre Twenty-Instanz, um das v0.50.0-Image zu verwenden.Docker-compose.yml Verlagerung
Diese Version enthält eine Mutation vondocker-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.v0.42.0 bis v0.43.0
Aktualisieren Sie Ihre Twenty-Instanz, um das v0.43.0-Image zu verwenden.(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:- Dumpen Sie Ihre Datenbank aus dem alten postgres-spilo-Container
- Aktualisieren Sie Ihre docker-compose.yml, um das postgres:16-Image gemäß der docker-compose.yml zu verwenden.
- Stellen Sie die Datenbank in den neuen postgres:16-Container wieder her.
v0.41.0 bis v0.42.0
Aktualisieren Sie Ihre Twenty-Instanz, um das v0.42.0-Image zu verwenden.- 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.- 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.- 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-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_MIGRATIONSdurchDISABLE_DB_MIGRATIONSersetzt (Standardwert ist jetztfalse, 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-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
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-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 Datenmigrationyarn 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
.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
.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-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: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-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-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-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.