メインコンテンツへスキップ
Header

一般ガイドライン

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. docker-compose近くにある.envファイルのTAG値を変更してバージョンをアップグレードします。 ( v0.53 のように major.minor バージョンを使用することをお勧めします )
  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

こんにちは、Twenty v1.0! 🎉

v0.60

パフォーマンス向上

All interactions with the metadata API have been optimized for better performance, particularly for object metadata manipulation and workspace creation operations. キャッシング戦略を見直し、可能な場合はデータベースクエリよりもキャッシュヒットを優先するようにしました。これにより、メタデータAPIオペレーションのパフォーマンスが大幅に向上しました。 アップグレード後にランタイムの問題が発生した場合は、キャッシュをフラッシュして最新の変更と同期させる必要があるかもしれません。 twenty-serverコンテナ内で次のコマンドを実行します:
yarn command:prod cache:flush

v0.55

Twentyインスタンスをv0.55イメージにアップグレードします。 もうコマンドを実行する必要はありません。新しいイメージがすべての必要な移行を自動的に行います。

User does not have permission error

アップグレード後にほとんどの要求で承認エラーが発生した場合は、キャッシュをフラッシュして最新の権限を再計算する必要があるかもしれません。 あなたの twenty-server コンテナ内で次のコマンドを実行します:
yarn command:prod cache:flush
この問題は特定のTwentyバージョンに固有であり、今後のアップグレードでは不要なはずです。

v0.54

バージョン 0.53 以降、手動の操作は必要ありません。

メタデータスキーマ廃止

データの取得を簡素化するために、metadata スキーマを core スキーマにマージしました。 upgrade コマンド内の migrate コマンドステップを統合しました。 サーバーまたはワーカーコンテナ内で migrate を手動で実行することはお勧めしません。

v0.53以降

0.53 以降、アップグレードは DockerFile 内でプログラム的に行われます。これはつまり、これ以降は手動でコマンドを実行する必要がないことを意味します。 メジャーバージョンを飛ばさずに順次インスタンスをアップグレードし続けることを確認してください(e.g. 0.43.3から0.44.0へのアップグレードは許可されていますが、0.43.1から0.45.0へのアップグレードはできません)。そうしないと、ワークスペースのバージョンが同期しないことが原因でランタイムエラーや機能の欠如が発生する可能性があります。 ワークスペースが正しく移行されたかを確認するには、データベース内の core.workspace テーブル内でそのバージョンを確認できます。 それは常にあなたの現在のTwentyのインスタンスの major.minor バージョンの範囲内である必要があります。あなたのインスタンスバージョンは、管理パネル( /settings/admin-panel にあり、データベース内でユーザーが canAccessFullAdminPanel プロパティを持っている場合にアクセス可能)にまたは twenty-server コンテナ内で echo $APP_VERSION を実行することで確認できます。 非同期化されたワークスペースバージョンを修正するには、対応するTwentyのバージョンから関連するアップグレードガイドに従って順次アップグレードし、それが目的のバージョンに到達するまで続ける必要があります。

auditLog の削除

監査ログ標準オブジェクトを削除しました。これにより、この移行後のバックアップサイズが大幅に縮小する可能性があります。

v0.51からv0.52

Twentyインスタンスをv0.52イメージにアップグレードします。
yarn database:migrate:prod
yarn command:prod upgrade

私は 0.52.00.52.6 の間のバージョンでブロックされたワークスペースを持っています。

残念ながら、0.52.00.52.6 はdockerHubから完全に削除されました。 データベースでワークスペースバージョンを手動で 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の変更

このバージョンには、worker サービスが server-local-data ボリュームにアクセスできるようにするための docker-compose.yml の変更が含まれています。 ローカルの docker-compose.ymlv0.50.0 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 .
ダンプファイルが空でないことを確認してください。
  1. docker-compose.ymlを、新しいpostgres:16イメージを使用するようにアップグレードします。docker-compose.ymlを参照してください。
  2. データベースを新しい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_MIGRATIONSDISABLE_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_DOMAINFRONT_PROTOCOLFRONT_PORT 変数を使用して設定できます。 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 はすべてのワークスペースのデータ移行を行います。 このバージョンから、DB用の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
個々のRedis接続パラメーターの代わりに、新しい REDIS_URL 変数を使用するように .env ファイルを更新してください。 JWTトークンの取り扱いも簡素化しました。
  • 削除: ACCESS_TOKEN_SECRET, LOGIN_TOKEN_SECRET, REFRESH_TOKEN_SECRET, FILE_TOKEN_SECRET
  • 追加: APP_SECRET
個々のトークンシークレットの代わりに、新しい APP_SECRET 変数を使用するように .env ファイルを更新してください(以前と同じシークレットを使用するか、新しいランダム文字列を生成して使用することができます) 接続アカウント Googleメールとカレンダーを同期するために接続されたアカウントを使用する場合は、Google管理コンソールでPeople APIをアクティブにする必要があります。

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を更新しました。 構成を更新し、環境変数を適切に更新してください:
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 workspace:sync-metadata -f コマンドは、標準オブジェクトの定義をメタデータテーブルに同期し、既存のワークスペースに必要な移行を適用します。” The yarn command:prod upgrade-0.22 command will apply specific data transformations to adapt to the new object defaultRequestInstrumentationOptions.