Прежде всего позвольте мне объяснить те два подготовительных класса, которые вы использовали:
- AddChannelPreparer , как следует из названия, создает новые каналы с заданным списком (витрины) приложений (свойство
apps
). Он пропускает создание канала, если тот уже существует. - CreateApplicationPreparer создает приложение на заданном сайте и в указанном домене-владельце. Это не обязательно должно быть приложение магазина. Скажем так, это приложение на сайте.
То, что вам не хватает при попытке использовать вышеуказанные средства подготовки в вашей конфигурации dbmigrate, - это некоторые необходимые дополнительные шаги - например, создание репозиториев, создание отношений домена приложения и, самое главное, приложение для управления вашей витриной (именно поэтому вам не хватает вкладки разрешений).
Суть в том, что я не знаю ни одного подготовителя, который запускает эти шаги. Моя самая безопасная ставка в том, что вы используете подготовитель ExecutePipeline
для выполнения ProcessApplication-Create
конвейера в sld_ch_base . Так как это конвейер, который выполняется из бэк-офиса, когда пользователь вручную создает новую витрину магазина. Убедитесь, что вы выполняете конвейер в контексте приложения backoffice.