この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
[Salesforce] JSforceを使ってコマンド一発で組織のプロセスを無効化/有効化する で紹介した sf-switch の機能を sfdx コマンドで実行できる sfdx プラグインを作りました。
次のコマンドでインストールできます( sfdx は既にインストール済であるとします)。
$ sfdx plugins:install sfdx-switch
インストールしたら、次のコマンドで組織のプロセス、Apex Triggerを無効化、有効化(無効化前の状態に復帰する)ができます。
- 無効化
# 組織のプロセス、 Apex Triggerの無効化
$ sfdx switch:off --targetusername username@example.com
- 有効化(復帰)
# 組織のプロセス、Apex Triggerの有効化(復帰)
$ sfdx switch:return --targetusername username@example.com
sf-switch と異なり、 sfdx が保持している認証情報を使って組織への接続ができるため、パスワードの指定は不要になっています。2
sfdx-switch ではフローの無効化/有効化(復帰)にも近いうちに対応したいと考えています。
sfdx-migration-automaticプラグインと組み合わせることで、以下のような流れで簡単にSandboxにデータを持たせることができます。
# 本番環境のユーザ名を username@example.com 、 Sandboxのユーザ名を username@example.com.sandbox とした場合
$ sfdx switch:off --targetusername username@example.com.sandbox
$ sfdx automig:dump --targetusername username@example.com --objects Opportunity,Case,Account:related,Task:related --outputdir ./dump
$ sfdx automig:load --targetusername username@example.com.sandbox --inputdir ./dump
$ sfdx switch:return --targetusername username@example.com.sandbox
お役に立てれば幸いです。