e02c24bd3a
Created by Github action --------- Co-authored-by: Abdul Rahman <ar5438376@gmail.com> Co-authored-by: Crowdin Bot <support+bot@crowdin.com> Co-authored-by: github-actions <github-actions@twenty.com> Co-authored-by: Charles Bochet <charles@twenty.com>
402 lines
13 KiB
Plaintext
402 lines
13 KiB
Plaintext
---
|
||
title: 升級指南
|
||
image: /images/user-guide/notes/notes_header.png
|
||
---
|
||
|
||
<Frame>
|
||
<img src="/images/user-guide/notes/notes_header.png" alt="Header" />
|
||
</Frame>
|
||
|
||
## 一般指南
|
||
|
||
**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}`.
|
||
|
||
如果您使用了 Docker Compose,請遵循以下步驟:
|
||
|
||
1. 在 Twenty 運行的主機中,關閉 Twenty:`docker compose down`
|
||
|
||
2. 更改 `.env` 文件中的 `TAG` 值來升級版本。 (我們建議使用 `major.minor` 版本,例如 `v0.53` ) (我們建議使用 `major.minor` 版本,例如 `v0.53` )
|
||
|
||
3. 使用命令 `docker compose up -d` 讓 Twenty 上線
|
||
|
||
如果希望將實例升級幾個版本,例如從 v0.33.0 到 v0.35.0,您需要分步升級,例如從 v0.33.0 升級到 v0.34.0,然後從 v0.34.0 升級到 v0.35.0。
|
||
|
||
**確保每次升級後,備份是未損壞的。**
|
||
|
||
## 版本特定升級步驟
|
||
|
||
## v1.0
|
||
|
||
Hello Twenty v1.0! 🎉
|
||
|
||
## v0.60
|
||
|
||
### 性能增強
|
||
|
||
所有與元數據 API 的交互均已優化以提高性能,特別是對象元數據操作和工作空間創建操作。
|
||
|
||
我們重構了緩存策略,儘量優先處理緩存命中而非資料庫查詢,顯著提高元數據 API 操作的性能。
|
||
|
||
如果在升級後遇到運行時問題,您可能需要刷新緩存以確保與最新更改同步。 在您的 twenty-server 容器中運行以下命令:
|
||
|
||
```bash
|
||
yarn command:prod cache:flush
|
||
```
|
||
|
||
### 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` 容器中,運行:
|
||
|
||
```bash
|
||
yarn command:prod cache:flush
|
||
```
|
||
|
||
此問題僅限於此 Twenty 版本,不應在將來的升級中要求。
|
||
|
||
### v0.54
|
||
|
||
自版本 `0.53`,無需手動操作。
|
||
|
||
#### 元數據架構棄用
|
||
|
||
我們已經將 `metadata` 架構合併到了 `core`,以簡化從 `TypeORM` 檢索數據。
|
||
我們已將 `migrate` 命令步驟合併到 `upgrade` 命令中。 我們不建議在任何 Server/Worker 容器中手動運行 `migrate`。
|
||
我們已將 `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 映像
|
||
|
||
```
|
||
yarn database:migrate:prod
|
||
yarn command:prod upgrade
|
||
```
|
||
|
||
#### 我有一個工作區被鎖定在版本之間 `0.52.0` 和 `0.52.6`
|
||
|
||
很不幸,`0.52.0` 和 `0.52.6` 已從 dockerHub 完全移除。
|
||
您將需要手動將工作區版本更新到 `0.51.0` 在數據庫中,然後升級使用 Twenty 版本 `0.52.11` 並遵循其上方的升級指南。
|
||
您將需要手動將工作區版本更新到 `0.51.0` 在數據庫中,然後升級使用 Twenty 版本 `0.52.11` 並遵循其上方的升級指南。
|
||
|
||
### v0.50到v0.51
|
||
|
||
升級您的 Twenty 實例以使用 v0.51 映像
|
||
|
||
```
|
||
yarn database:migrate:prod
|
||
yarn command:prod upgrade
|
||
```
|
||
|
||
### v0.44.0到v0.50.0
|
||
|
||
升級您的 Twenty 實例以使用 v0.50.0 映像
|
||
|
||
```
|
||
yarn database:migrate:prod
|
||
yarn command:prod upgrade
|
||
```
|
||
|
||
#### docker-compose.yml 變更
|
||
|
||
此版本包括 `docker-compose.yml` 變更以允許 `worker` 服務訪問 `server-local-data` 卷。
|
||
請更新您的本地 `docker-compose.yml` 以使用 [v0.50.0 docker-compose.yml](https://github.com/twentyhq/twenty/blob/v0.50.0/packages/twenty-docker/docker-compose.yml)。
|
||
請更新您的本地 `docker-compose.yml` 以使用 [v0.50.0 docker-compose.yml](https://github.com/twentyhq/twenty/blob/v0.50.0/packages/twenty-docker/docker-compose.yml)。
|
||
|
||
### v0.43.0到v0.44.0
|
||
|
||
升級您的 Twenty 實例以使用 v0.44.0 映像
|
||
|
||
```
|
||
yarn database:migrate:prod
|
||
yarn command:prod upgrade
|
||
```
|
||
|
||
### v0.42.0到v0.43.0
|
||
|
||
升級您的 Twenty 實例以使用 v0.43.0 映像
|
||
|
||
```
|
||
yarn database:migrate:prod
|
||
yarn command:prod upgrade
|
||
```
|
||
|
||
在此版本中,我們還切換到了 docker-compose.yml 中的 postgres:16 映像。
|
||
|
||
#### (選項 1) 資料庫遷移
|
||
|
||
保留現有的 postgres-spilo 映像檔是可以的,但你需要在你的 docker-compose.yml 中凍結版本為 0.43.0。
|
||
|
||
#### (選項 2) 資料庫遷移
|
||
|
||
如果您想把資料庫遷移到新的 postgres:16 映像檔,請按以下步驟操作:
|
||
|
||
1. 從舊的 postgres-spilo 容器中轉存你的資料庫
|
||
|
||
```
|
||
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 .
|
||
```
|
||
|
||
確保你的資料轉存檔不是空的。
|
||
|
||
2. 升級你的 docker-compose.yml 以使用 postgres:16 映像檔,如 [docker-compose.yml](https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/docker-compose.yml) 檔案中一樣。
|
||
|
||
3. 將資料庫恢復到新的 postgres:16 容器中
|
||
|
||
```
|
||
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 到 v0.42.0
|
||
|
||
將你的 Twenty 實例升級到使用 v0.42.0 的映像檔
|
||
|
||
```
|
||
yarn database:migrate:prod
|
||
yarn command:prod upgrade-0.42
|
||
```
|
||
|
||
**環境變量**
|
||
|
||
- 移除:`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 的映像檔
|
||
|
||
```
|
||
yarn database:migrate:prod
|
||
yarn command:prod upgrade-0.41
|
||
```
|
||
|
||
**環境變量**
|
||
|
||
- 移除:`AUTH_MICROSOFT_TENANT_ID`
|
||
|
||
### v0.35.0 到 v0.40.0
|
||
|
||
將你的 Twenty 實例升級到使用 v0.40.0 的映像檔
|
||
|
||
```
|
||
yarn database:migrate:prod
|
||
yarn command:prod upgrade-0.40
|
||
```
|
||
|
||
**環境變量**
|
||
|
||
- 新增:`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
|
||
```
|
||
|
||
`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
|
||
```
|
||
|
||
`yarn database:migrate:prod` 命令將應用到資料庫結構的遷移(核心和元數據架構)
|
||
`yarn command:prod upgrade-0.34` 用於所有工作區的數據遷移。
|
||
|
||
**環境變量**
|
||
|
||
- 移除:`FRONT_BASE_URL`
|
||
- 新增:`FRONT_DOMAIN`, `FRONT_PROTOCOL`, `FRONT_PORT`
|
||
|
||
我們已經更新了處理前端 URL 的方式。
|
||
我們已經更新了處理前端 URL 的方式。
|
||
您現在可以使用 `FRONT_DOMAIN`, `FRONT_PROTOCOL` 和 `FRONT_PORT` 變量來設置前端 URL。
|
||
如果沒有設定 FRONT_DOMAIN,前端 URL 將回退到 `SERVER_URL`。
|
||
如果沒有設定 FRONT_DOMAIN,前端 URL 將回退到 `SERVER_URL`。
|
||
|
||
### v0.32.0 到 v0.33.0
|
||
|
||
將你的 Twenty 實例升級到使用 v0.33.0 的映像檔
|
||
|
||
```
|
||
yarn command:prod cache:flush
|
||
yarn database:migrate:prod
|
||
yarn command:prod upgrade-0.33
|
||
```
|
||
|
||
`yarn command:prod cache:flush` 命令將刷新 Redis 快取。
|
||
`yarn database:migrate:prod` 命令將應用到資料庫結構的遷移(核心和元數據架構)
|
||
`yarn command:prod upgrade-0.33` 負責所有工作區的數據遷移。
|
||
`yarn database:migrate:prod` 命令會將遷移應用到資料庫。
|
||
`yarn command:prod workspace:sync-metadata -f` 命令會將標準對象的定義同步到中繼資料表,並將所需的遷移應用到現有工作區。
|
||
`yarn command:prod upgrade-0.22` 命令會應用特定的數據轉換以適應新的對象 defaultRequestInstrumentationOptions。
|
||
|
||
從此版本開始,twenty-postgres 映像檔被棄用,改用 twenty-postgres-spilo。
|
||
從此版本開始,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
|
||
```
|
||
|
||
`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`
|
||
|
||
Update your `.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](https://developers.google.com/people)。
|
||
|
||
### v0.30.0 到 v0.31.0
|
||
|
||
將你的 Twenty 實例升級到使用 v0.31.0 的映像檔
|
||
|
||
**架構和數據遷移**:
|
||
|
||
```
|
||
yarn database:migrate:prod
|
||
yarn command:prod upgrade-0.31
|
||
```
|
||
|
||
`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](https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/docker-compose.yml) 以反映這一點。
|
||
確保更新您的配置並相應地更新環境變數:
|
||
確保更新您的配置並相應地更新環境變數:
|
||
|
||
```
|
||
REDIS_HOST={your-redis-host}
|
||
REDIS_PORT={your-redis-port}
|
||
CACHE_STORAGE_TYPE=redis
|
||
```
|
||
|
||
**架構和數據遷移**:
|
||
|
||
```
|
||
yarn database:migrate:prod
|
||
yarn command:prod upgrade-0.30
|
||
```
|
||
|
||
`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
|
||
```
|
||
|
||
`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
|
||
```
|
||
|
||
`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
|
||
```
|
||
|
||
`yarn database:migrate:prod` 命令將應用到資料庫的遷移。
|
||
`yarn command:prod upgrade-0.23` 負責數據遷移,包括將活動轉到任務/筆記。
|
||
`yarn command:prod workspace:sync-metadata -f` 命令會將標準對象的定義同步到中繼資料表,並將所需的遷移應用到現有工作區。
|
||
`yarn command:prod upgrade-0.22` 命令會應用特定的數據轉換以適應新的對象 defaultRequestInstrumentationOptions。
|
||
|
||
|
||
|
||
|