EC-CUBE3(Silex)ではApplication::getInstance()により$appオブジェクトを取得し、そこから$app[‘orm.em’]としてエンティティマネージャを呼び出していました。
それではEC-CUBE4(Symfony3)ではどのようにエンティティやレポジトリをマイグレーションで使用するのでしょうか?

結論から言うとマイグレーションファイルにContainerAwareInterfaceを実装することでcontainerを使用することができるようになり、レポジトリクラスのオブジェクトを取得できます。

実装方法

ContainerAwareInterfaceをimplementsし、実装したsetContainerメソッド内でコンテナを保持します。
postUpメソッド内でcontainerやentity managerを利用してレポジトリ・エンティティを呼び出します。

マイグレーションで送料無料条件を設定する例

次の例では送料無料条件(金額)を10,800円に設定するEC-CUBE4のマイグレーションです。
BaseInfoのレポジトリ・エンティティを利用してショップ設定を更新しています。