ApexEloquent インストールガイド
ApexEloquent の導入経路は2つあります。どちらも入るソースは同じです。経路の比較 (デプロイ時のテスト実行やカバレッジ計算の違い) は Installing Apex Stem にまとめています。
| 経路 | 向いている場面 | 事前準備 |
|---|---|---|
| Unlocked Package (推奨) | 新規プロジェクト、本番組織 | Salesforce CLI と組織へのログインだけ |
| Git Submodule | submodule 運用中の既存プロジェクト、v2 系が必要な場合 | 事前準備 をすべて (make 含む) |
📦 Unlocked Package で導入する (推奨)
事前準備 のうち「Salesforce CLI のセットアップ」と「対象組織の確認」まで済んでいれば、コマンド1つで入ります。make のセットアップは不要です。
$ sf package install -p 04tgK000000HaGnQAK -o <対象組織> -w 10
ブラウザからインストールする場合は https://login.salesforce.com/packaging/installPackage.apexp?p0=04tgK000000HaGnQAK を開きます (Sandbox は test.salesforce.com に読み替え)。
現在のバージョンは v3.5.0 です。過去バージョンの install ID は GitHub Releases に載っています。
パッケージとして導入すると、ApexEloquent 同梱のテストは RunLocalTests の対象外になり、コードも組織のカバレッジ計算から除外されます。組織側の設定が原因でフレームワークのテストが失敗する問題そのものが起きなくなります。
パッケージで配布しているのは v3 系のみです。v3 系は SOQL / DML の既定がユーザーモード (FLS を尊重) なので、既存組織にそのまま入れると項目権限の不足で落ちることがあります。v2 系 (システムモード既定) が必要な場合は、下の Git Submodule で保守ブランチを指定してください。判断材料は [ApexEloquent ガイド](/ja/apex-stem/docs/apex-eloquent-guide) の冒頭を参照してください。
更新
新しいバージョンの install ID で同じコマンドを実行するだけです。インストール済みのパッケージが上書き更新されます。組織に入っているバージョンは sf package installed list -o <対象組織> で確認できます。
📥 Git Submodule で導入する
パッケージの取得 (初回のみ)
$ cd force-app/main/default/classes
$ git submodule add https://github.com/krile136/ApexEloquent.git ApexEloquent
これでリポジトリに ApexEloquent ディレクトリが追加され、ソース管理に組み込まれます。既にあるリポジトリをクローンした側は、git submodule update --init --recursive を忘れないでください。
v2 系を使う場合
上のコマンドは既定ブランチ (main) を取るので、v3 系が入ります。先に v2 系で入れておきたい場合は、保守ブランチを指定します。
$ git submodule add -b v2.2.x https://github.com/krile136/ApexEloquent.git ApexEloquent
機能は v3 系と同等で、違いは実行モードだけです。
組織へのデプロイ
事前準備 をすべて済ませた上で、取得したクラスをデプロイします。
$ make install
make install は内部で Salesforce CLI のデプロイコマンドを呼び出します。
Submodule 経路では ApexEloquent 同梱のテストがローカルテストとして実行され、カバレッジ要件 75% に寄与する形になります。ただし、組織側の設定や無効化された標準項目が原因でテストが失敗する場合は、*_T.cls テストクラスを適宜調整するか、Unlocked Package 経路への切り替えを検討してください。
更新
プロジェクトのルートから以下のコマンドを実行します。
$ cd force-app/main/default/classes/ApexEloquent
$ git pull
$ make install
git pull は追従しているブランチの先頭を取ります。v2 系 (v2.2.x) を使っている場合、main に切り替えてから pull すると v3 系に飛びます。実行モードの既定が変わる破壊的変更なので、意図せず跨がないよう、いま何を追従しているかを git branch --show-current で確認してから更新してください。
Submodule は親リポジトリがどのコミットを参照しているかという情報 (ポインタ) を保持しています。本番環境で一貫性を保つには、git submodule update --remote で参照を最新版に自動更新し、親リポジトリ側でもコミットすることをおすすめします。