Menu

ボイラープレート新機能の同期

このドキュメントで説明する同期手順は、Git リポジトリで管理されているプロジェクトのアップグレードに適用されます。ボイラープレートを使用していて特定バージョンの機能にアップグレードしたい場合は、このドキュメントを参照してください。

このドキュメントでは、任意の NEXTY.DEV 3.x バージョンからバージョン 3.2.10 へのアップグレードを例として、ボイラープレートの新機能を同期する方法を示します。

NEXTY.DEV v3.2.10 では、以下の新機能を備えたユーザー管理インフラストラクチャをアップグレードしました:

  • メール OTP ログイン
  • ログインレート制限
  • ユーザーソース情報トラッキング

これらの機能により、より優れたユーザーソースと属性分析が可能になります。3.x バージョンを使用している開発者にアップグレードを推奨します。

アップグレード手順

  1. 新しいブランチを作成
git checkout -b upgrade/3.2.10
  1. データベースをバックアップ

アップグレードする機能がデータベース設計に影響する場合は、まずデータベースをバックアップするか、テスト用に新しいデータベースを準備してください。

バージョン 3.2.10 のアップグレードは、既存のデータベース構造に影響を与えることなく新しいテーブルを1つ追加するだけなので、この手順は必要ありません。

  1. アップストリームリモートリポジトリを追加
git remote add upstream "https://github.com/wenextdev/nexty.dev.git" 2>/dev/null || true
git fetch upstream --tags
  1. マージするコミットを選択

ボイラープレートのコミット履歴を確認すると、3.2.10 バージョン機能に関連するコミットは 2fb2b25 fe305c1 a3852c6 7e117cd eeb9c48 72c6f45 66079b8 です。

では cherry-pick コマンドを使用してこれらのコミットをマージします。

git cherry-pick 2fb2b25 fe305c1 a3852c6 7e117cd eeb9c48 72c6f45 66079b8

この手順でコンフリクトが発生する可能性があります。Cursor の左側の「Source Control」パネルに従ってコンフリクトファイルを解決してください。

重要な注意事項

データベースマイグレーションファイルでコンフリクトが発生した場合は、自分のマイグレーションファイルを保持し、ボイラープレートのマイグレーションファイルを使用しないでください:

  • lib/db/migrations/meta/lib/db/migrations/00xx_xxxxxxx.sql はすべて自分で生成したもの
  • lib/db/migrations/meta/_journal.json にはボイラープレートのマイグレーションファイルのレコードが含まれていないこと

コンフリクトを解決した後、次のコマンドを続けます:

git add -A
git cherry-pick --continue

git status を実行してステータスを確認します。「Cherry-pick currently in progress」と表示される場合は、まだ完了していないことを意味します。同期が完了するまで git cherry-pick --continue の実行を続けてください。

git-status
  1. 依存関係をインストール
pnpm install
  1. 環境変数を変更

バージョン 3.2.10 では環境変数 NEXT_PUBLIC_USER_SOURCE_TRACKING_ENABLED が追加されました。true に設定するとユーザーソース情報トラッキングが有効になり、false に設定すると無効になります。

NEXT_PUBLIC_USER_SOURCE_TRACKING_ENABLED="true"

本番環境の環境変数も変更することを忘れないでください。そうしないと本番環境で有効になりません。

  1. データベースをマイグレート

マイグレーションコマンドを実行する前に、lib/db/migrations/meta/lib/db/migrations/00xx_xxxxxxx.sql がすべて自分で生成されたものであり、lib/db/migrations/meta/_journal.json にボイラープレートのマイグレーションファイルのレコードが含まれていないことを確認してください。

前の手順でこれらのファイルをボイラープレートのレコードとマージした場合は、AI にこれらのファイルのバージョンを元に戻すのを手伝ってもらう必要があります。

すべてが正しいことを確認した後、マイグレーションコマンドを実行します:

npm run db:generate
npm run db:migrate
  1. ローカル検証とデプロイ
npm run dev

機能が正しく動作することを確認した後、main ブランチにマージし、コードをリモートリポジトリにプッシュしてデプロイします。

  1. 本番データベースを更新

アップグレードプロセス中にテストデータベースを使用した場合、本番環境データベースに対してもマイグレーションコマンドを実行する必要があります。手順7と同じです。

まとめ

3.2.10 バージョンのアップグレードは影響が最小限で利益が最大です。アップグレード手順に不慣れな場合、これはプロセスに慣れる良い機会です。

他のバージョンへのアップグレードで、まだ進め方がわからない場合は、このドキュメントを参考として AI と共有し、現在のバージョンとアップグレードしたいバージョンを AI に伝えてください。AI がレコードを確認してアップグレード手順を提供します。