
一般指南
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}.
如果您使用了 Docker Compose,請遵循以下步驟:
-
在 Twenty 運行的主機中,關閉 Twenty:
docker compose down -
更改
.env文件中的TAG值來升級版本。 (我們建議使用major.minor版本,例如v0.53) -
使用命令
docker compose up -d讓 Twenty 上線
版本特定升級步驟
v1.0
Hello Twenty v1.0! 🎉v0.60
性能增強
所有與元數據 API 的交互均已優化以提高性能,特別是對象元數據操作和工作空間創建操作。 我們重構了緩存策略,儘量優先處理緩存命中而非資料庫查詢,顯著提高元數據 API 操作的性能。 如果在升級後遇到運行時問題,您可能需要刷新緩存以確保與最新更改同步。 在您的 twenty-server 容器中運行以下命令:v0.55
升級您的 Twenty 實例以使用 v0.55 映像 您不需要再運行任何命令,新映像會自動執行所有所需的遷移。User does not have permission error
If you encounter authorization errors on most requests after upgrading, you may need to flush your cache to recompute the latest permissions.
在您的 twenty-server 容器中,運行:
v0.54
自版本0.53,無需手動操作。
元數據架構棄用
我們已經將metadata 架構合併到了 core,以簡化從 TypeORM 檢索數據。
我們已將 migrate 命令步驟合併到 upgrade 命令中。 我們不建議在任何 Server/Worker 容器中手動運行 migrate。
自 v0.53
從0.53 開始,升級是在 DockerFile 中程序化完成的,這意味著從現在開始,您不必再手動運行任何命令。
確保按順序升級實例,不能跳過任何主要版本(例如,允許從 0.43.3 升級到 0.44.0,但不能從 0.43.1 跳過到 0.45.0),否則可能導致工作空間版本不同步,導致運行情況錯誤和功能缺失。
若要檢查工作空間是否已正確遷移,您可以查看資料庫中的 core.workspace 表中的版本。
它應始終在當前 Twenty 實例的 major.minor 版本範圍內,您可以在管理面板中查看實例版本(在 /settings/admin-panel,若用戶在數據庫中擁有 canAccessFullAdminPanel 屬性為 true,即可訪問)或通過在 twenty-server 容器中運行 echo $APP_VERSION。
要修復未同步的工作空間版本,您需要從相應版本開始,一步一步升級 Twenty 並遵循相關升級指南,直到達到期望版本。
auditLog 移除
我們已刪除 auditLog 標準對象,這意味著此遷移後您的備份大小可能會顯著減少。
v0.51到v0.52
升級您的 Twenty 實例以使用 v0.52 映像我有一個工作區被鎖定在版本之間 0.52.0 和 0.52.6
很不幸,0.52.0 和 0.52.6 已從 dockerHub 完全移除。
您將需要手動將工作區版本更新到 0.51.0 在數據庫中,然後升級使用 Twenty 版本 0.52.11 並遵循其上方的升級指南。
v0.50到v0.51
升級您的 Twenty 實例以使用 v0.51 映像v0.44.0到v0.50.0
升級您的 Twenty 實例以使用 v0.50.0 映像docker-compose.yml 變更
此版本包括docker-compose.yml 變更以允許 worker 服務訪問 server-local-data 卷。
請更新您的本地 docker-compose.yml 以使用 v0.50.0 docker-compose.yml。
v0.43.0到v0.44.0
升級您的 Twenty 實例以使用 v0.44.0 映像v0.42.0到v0.43.0
升級您的 Twenty 實例以使用 v0.43.0 映像(選項 1) 資料庫遷移
保留現有的 postgres-spilo 映像檔是可以的,但你需要在你的 docker-compose.yml 中凍結版本為 0.43.0。(選項 2) 資料庫遷移
如果您想把資料庫遷移到新的 postgres:16 映像檔,請按以下步驟操作:- 從舊的 postgres-spilo 容器中轉存你的資料庫
- 升級你的 docker-compose.yml 以使用 postgres:16 映像檔,如 docker-compose.yml 檔案中一樣。
- 將資料庫恢復到新的 postgres:16 容器中
v0.41.0 到 v0.42.0
將你的 Twenty 實例升級到使用 v0.42.0 的映像檔- 移除:
FRONT_PORT,FRONT_PROTOCOL,FRONT_DOMAIN,PORT - 新增:
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 到 v0.41.0
將你的 Twenty 實例升級到使用 v0.41.0 的映像檔- 移除:
AUTH_MICROSOFT_TENANT_ID
v0.35.0 到 v0.40.0
將你的 Twenty 實例升級到使用 v0.40.0 的映像檔- 新增:
IS_EMAIL_VERIFICATION_REQUIRED,EMAIL_VERIFICATION_TOKEN_EXPIRES_IN,WORKFLOW_EXEC_THROTTLE_LIMIT,WORKFLOW_EXEC_THROTTLE_TTL
v0.34.0 到 v0.35.0
將你的 Twenty 實例升級到使用 v0.35.0 的映像檔yarn database:migrate:prod 命令將會應用到資料庫結構的遷移(核心和元數據架構)
yarn command:prod upgrade-0.35 用於所有工作區的數據遷移。
環境變量
- 我們將
ENABLE_DB_MIGRATIONS替換為DISABLE_DB_MIGRATIONS(默認值現在為false,你可能不需要設定任何東西)
v0.33.0 到 v0.34.0
將你的 Twenty 實例升級到使用 v0.34.0 的映像檔yarn database:migrate:prod 命令將應用到資料庫結構的遷移(核心和元數據架構)
yarn command:prod upgrade-0.34 用於所有工作區的數據遷移。
環境變量
- 移除:
FRONT_BASE_URL - 新增:
FRONT_DOMAIN,FRONT_PROTOCOL,FRONT_PORT
FRONT_DOMAIN, FRONT_PROTOCOL 和 FRONT_PORT 變量來設置前端 URL。
如果沒有設定 FRONT_DOMAIN,前端 URL 將回退到 SERVER_URL。
v0.32.0 到 v0.33.0
將你的 Twenty 實例升級到使用 v0.33.0 的映像檔yarn command:prod cache:flush 命令將刷新 Redis 快取。
yarn database:migrate:prod 命令將應用到資料庫結構的遷移(核心和元數據架構)
yarn command:prod upgrade-0.33 負責所有工作區的數據遷移。
從此版本開始,twenty-postgres 映像檔被棄用,改用 twenty-postgres-spilo。
如果你想繼續使用 twenty-postgres 映像檔,只需在 docker-compose.yml 中將 twentycrm/twenty-postgres:${TAG} 替換為 twentycrm/twenty-postgres。
v0.31.0 到 v0.32.0
將你的 Twenty 實例升級到使用 v0.32.0 的映像檔 架構和數據遷移yarn database:migrate:prod 命令將應用到資料庫結構的遷移(核心和元數據架構)
yarn command:prod upgrade-0.32 負責所有工作區的數據遷移。
環境變量
我們已經更新了處理 Redis 連接的方式。
- 移除:
REDIS_HOST,REDIS_PORT,REDIS_USERNAME,REDIS_PASSWORD - 新增:
REDIS_URL
.env 文件以使用新的 REDIS_URL 變數,而不是使用單個 Redis 連接參數。
We have also simplified the way we handle the JWT tokens.
- 移除:
ACCESS_TOKEN_SECRET,LOGIN_TOKEN_SECRET,REFRESH_TOKEN_SECRET,FILE_TOKEN_SECRET - 新增:
APP_SECRET
.env file to use the new APP_SECRET variable instead of the individual tokens secrets (you can use the same secret as before or generate a new random string)
連接帳戶
如果您使用連接帳號同步 Google 電郵和日曆,則需要在 Google 管理員控制台上啟用 People API。
v0.30.0 到 v0.31.0
將你的 Twenty 實例升級到使用 v0.31.0 的映像檔 架構和數據遷移:yarn database:migrate:prod 命令將應用到資料庫結構的遷移(核心和元數據架構)
yarn command:prod upgrade-0.31 負責所有工作區的數據遷移。
v0.24.0 到 v0.30.0
將你的 Twenty 實例升級到使用 v0.30.0 的映像檔 Breaking change: To enhance performances, Twenty now requires redis cache to be configured. 我們已更新 docker-compose.yml 以反映這一點。 確保更新您的配置並相應地更新環境變數:yarn database:migrate:prod 命令將應用到資料庫結構的遷移(核心和元數據架構)
yarn command:prod upgrade-0.30 負責所有工作區的數據遷移。
v0.23.0 到 v0.24.0
將你的 Twenty 實例升級到使用 v0.24.0 的映像檔 運行以下命令:yarn database:migrate:prod 命令將會應用到資料庫結構的遷移(核心和元數據架構)
yarn command:prod upgrade-0.24 負責所有工作區的數據遷移。
v0.22.0 到 v0.23.0
將你的 Twenty 實例升級到使用 v0.23.0 的映像檔 運行以下命令:yarn database:migrate:prod 命令將應用到資料庫的遷移。
yarn command:prod upgrade-0.23 負責數據遷移,包括將活動轉到任務/筆記。
v0.21.0 到 v0.22.0
將你的 Twenty 實例升級到使用 v0.22.0 的映像檔 運行以下命令:yarn database:migrate:prod 命令會將遷移應用到資料庫。
yarn command:prod workspace:sync-metadata -f 命令會將標準對象的定義同步到中繼資料表,並將所需的遷移應用到現有工作區。
yarn command:prod upgrade-0.22 命令會應用特定的數據轉換以適應新的對象 defaultRequestInstrumentationOptions。