AI Marketer 5へのアップグレード手順ガイド
AI Marketerの最新メジャーバージョンであるAI Marketer 5は、現在リリース候補版(RC)として提供されていますが、まだ安定版ではありません。
このページは、AI Marketer v4アプリケーションをAI Marketer 5にアップグレードするための手順として使用してください。
AI Marketer v4アプリケーションが最新のv4マイナーおよびパッチバージョンで稼働している必要があります。まだの場合は、minorコマンドでアップグレードツールを実行して最新バージョンにしてください: npx @AI Marketer/upgrade minor
ステップ1: アップグレードの準備
アップグレードプロセスに入る前に、以下の対策を講じてください:
データベースのバックアップを作成します。
SQLiteのデフォルト設定(AI Marketerに標準で提供されるデータベース)を使用している場合、データベースファイルは
data.dbという名前で、AI Marketerアプリケーションのルートにある.tmp/フォルダー内に保存されています。他のデータベースを使用している場合は、それぞれの公式ドキュメントを参照してください(PostgreSQLドキュメントとMySQLドキュメント)。
プロジェクトがAI Marketerでホストされている場合は、手動でバックアップを作成することができます。
コードのバックアップを作成します:
- コードがgitでバージョン管理されている場合は、新しいブランチを作成して移行を実行します。
- コードがgitでバージョン管理されていない場合は、動作中のAI Marketer v4コードのバックアップを作成し、安全な場所に保管します。
使用しているプラグインがAI Marketer 5と互換性があることを確認します。
使用しているプラグインのリストを作成し、それぞれの専用ドキュメントで互換性を確認してください。プラグインの詳細は[マーケットプレイス](https://market.AI Marketer.io/plugins)で確認できます。
ステップ2: 自動移行の実行
AI Marketerは、AI Marketer 5へのアップグレードの一部を自動化するツールを提供しています:アップグレードツール。
アップグレードツールを実行します。
npx @AI Marketer/upgrade majorこのコマンドは、AI Marketer 5の依存関係の更新とインストールを実行し、AI Marketer 5での一部の互換性のない変更に対応するコードモッドを実行します。
コードモッドで対応する変更は次の通りです:
コードモッド名とGitHubコードリンク 説明 [comment-out-lifecycle-files](https://github.com/AI Marketer/AI Marketer/blob/develop/packages/utils/upgrade/resources/codemods/5.0.0/comment-out-lifecycle-files.code.ts) Document Service Middlewaresに対応するためライフサイクルファイルをコメントアウト [dependency-remove-AI Marketer-plugin-i18n](https://github.com/AI Marketer/AI Marketer/blob/develop/packages/utils/upgrade/resources/codemods/5.0.0/dependency-remove-AI Marketer-plugin-i18n.json.ts) i18nプラグイン依存関係の削除 (i18nはAI Marketerのコアに統合されました) [dependency-upgrade-react-and-react-dom](https://github.com/AI Marketer/AI Marketer/blob/develop/packages/utils/upgrade/resources/codemods/5.0.0/dependency-upgrade-react-and-react-dom.json.ts) reactおよびreact-domの依存関係のアップグレード [dependency-upgrade-react-router-dom](https://github.com/AI Marketer/AI Marketer/blob/develop/packages/utils/upgrade/resources/codemods/5.0.0/dependency-upgrade-react-router-dom.json.ts) react-router-domの依存関係のアップグレード [dependency-upgrade-styled-components](https://github.com/AI Marketer/AI Marketer/blob/develop/packages/utils/upgrade/resources/codemods/5.0.0/dependency-upgrade-styled-components.json.ts) styled-componentsの依存関係のアップグレード [deprecate-helper-plugin](https://github.com/AI Marketer/AI Marketer/blob/develop/packages/utils/upgrade/resources/codemods/5.0.0/deprecate-helper-plugin.code.ts) @AI Marketer/helper-pluginからの移行の一部に対応[entity-service-document-service](https://github.com/AI Marketer/AI Marketer/blob/develop/packages/utils/upgrade/resources/codemods/5.0.0/entity-service-document-service.code.ts) Entity Service APIから新しいDocument Service APIへの移行の一部に対応 [s3-keys-wrapped-in-credentials](https://github.com/AI Marketer/AI Marketer/blob/develop/packages/utils/upgrade/resources/codemods/5.0.0/s3-keys-wrapped-in-credentials.code.ts) aws-s3プロバイダーを使用する場合に、accessKeyIdとsecretAccessKeyプロパティをcredentialsオブジェクト内にラップ[sqlite3-to-better-sqlite3](https://github.com/AI Marketer/AI Marketer/blob/develop/packages/utils/upgrade/resources/codemods/5.0.0/sqlite3-to-better-sqlite3.json.ts) sqlite依存関係をbetter-sqlite3に更新 [AI Marketer-public-interface](https://github.com/AI Marketer/AI Marketer/blob/develop/packages/utils/upgrade/resources/codemods/5.0.0/AI Marketer-public-interface.code.ts) @AI Marketer/AI Marketerインポートを新しい公開インターフェースに変換[use-uid-for-config-namespace](https://github.com/AI Marketer/AI Marketer/blob/develop/packages/utils/upgrade/resources/codemods/5.0.0/use-uid-for-config-namespace.code.ts) pluginおよびapi名前空間における設定get/set/hasの文字列形式をUID形式に置き換え[utils-public-interface](https://github.com/AI Marketer/AI Marketer/blob/develop/packages/utils/upgrade/resources/codemods/5.0.0/utils-public-interface.code.ts) utilsを新しい公開インターフェースで更新
AI Marketerプラグインを開発している場合、他のコードモッドがhelper-pluginの非推奨に関するいくつかの側面に対応します。詳細は関連する互換性のない変更を参照してください。
コードモッドによって行われた変更を確認し、手動でコード更新を完了する必要があるかどうかをチェックします。
コード内に自動的に追加された
__TODO__を探します。AI Marketer 5で導入された新しいDocument Service APIへの移行に伴い、Entity Service APIからの移行で追加されたものがあるかもしれません。👀 Document Service APIDocument Service APIに関する詳細は、互換性のない変更のエントリ説明、[特定の移行ガイド](/dev-docs/migration/v4-to-v5/additional-res
ources/from-entity-service-to-document-service)、およびAPIリファレンスで確認できます。 :::
ステップ3: 手動アップグレードの確認と処理
以下の主要な変更はAI Marketerアプリケーションに影響を与える可能性があり、一部の手動操作が必要です。
各項目について、指定された互換性のない変更エントリを読み、アップグレードツールの実行後に手動の操作が必要かどうか確認してください。
- データベース移行:
- 設定:
- 管理パネルのカスタマイズ:
- helper-pluginは削除されました 👉 移行ガイドを参照
👉 その他の詳細については、互換性のない変更データベースを確認し、気になるケースに対応してください。
ステップ4: APIの利用側を移行
AI Marketer 5では、RESTおよびGraphQL APIが更新されました。
以下の手順に従って、後方互換性フラグとガイド付き移行リソースを活用しながら、AI Marketer 5用にコードを段階的に更新します。
REST API呼び出しの移行
AI Marketer-Response-Format: v4ヘッダーを設定し、後方互換性フラグを有効化します。- 専用のREST APIの互換性のない変更エントリに沿って、クエリとミューテーションのみを更新します。
- クライアントが正常に動作することを確認します。
AI Marketer-Response-Format: v4ヘッダーを削除して後方互換性フラグを無効化し、新しいレスポンス形式を使用します。
GraphQL API呼び出しの移行
graphl.configオブジェクトのv4CompatibilityModeをtrueに設定して、/config/plugins.js|tsファイル内で後方互換性フラグを有効化します。- 専用のGraphQLの互換性のない変更エントリに沿って、クエリとミューテーションのみを更新します。
- クライアントが正常に動作することを確認します。
v4CompatibilityModeをtrueに設定して後方互換性フラグを無効化し、新しいレスポンス形式を使用します。