2016-11-23 8 views
3

ant importImpex -DSource=items.impexを使用してimpexファイルをインポートしようとしています。これはimpexファイルのインポートに成功しましたが、変更はMASTERテナントに反映されています。"ant importImpex"コマンドで特定のテナントを引数として指定する方法はありますか?

ant importImpexコマンドで特定のテナントを引数として指定するにはどうすればよいですか?

私はant importImpex -DSource=items.impex -Dtenant=tenantIDを試しましたが、動作しません。

他の方法はありますか?

+0

コードを記述してプロジェクトをコンパイルできますか? –

答えて

2

このantターゲットにテナントを設定するオプションはありません。

利用可能なオプションの種類はant -pです。 hybris 6.1では、impexパスを設定するオプションが-Dresource

であることに注意してください。できることは、impexファイルでBean Shellアノテーションを使用することです。

"#% Registry.setCurrentTenantByID(""tenantId"");"

その後定期的ant importImpexターゲットを実行し、データのみを注釈に設定テナントであることがわかります:あなたのINSERT_UPDATE文が前に

は、この行を追加します。

+0

本当にありがとうございました。 – ANIL

+1

私はまた、これに対して別のアプローチを考え出しました。それで、ant ** importImpex -DSource = items.impex -Dtenant = tenantID **を使用することができます。 これは、** HYBRIS_HOME/bin/platform/resources/ant **内の** platformadministration.xml **を編集し、** importImpex ** microdefに以下を追加する必要があります。 'Registry.setCurrentTenantByID(" $ {tenant} "); ' の後にこれを追加します' import de.hybris.platform.core.Registry; import de.hybris.platform.servicelayer.impex.impl.CmdImpExService; ' – ANIL

+0

おやおや! –

0

また、管理コンソールのテナントセクションに移動し、希望のテナントのコンソールを開くこともできます(まだ実行していない場合は、最初に初期化する必要があります)。そこから、この特定のテナントのimpexコンソールにアクセスし、そこからimpexを実行することができます。

関連する問題