Хотел сделать установщик модулей в backend и наткнулся на проблему с добавлением таблиц в базу данных. Было бы удобно закидывать файл с миграцией и запускать ее. Но как это сделать не из консоли, а из backend-а сайта? Можно ли сделать запрос из контролер бэкенда в контролер консоли? И получится ли запустить миграцию?
OnYourLips: Тут другая ситуация. Тут не будет доработок и т.д. Будут добавляться модули к сотням рабочих landingpage, при этом каждый из них может иметь собственные особенности, но модуль как самостоятельная единица в любой момент может быть добавлен или удален, а значит нужны миграции и их откаты. Сделал лэндинг - повесил на хостинг, отдал ключи заказчику. А он из админке может докупить себе модуль со временем.
Максим Тимофеев: Вы не правильно поняли миграции в yii, там осуществляется версионность и откат до N версии подразумевает откаты всех миграций от текущей по N. Применение миграций желательно в разработке, а то что вы хотите это делается в методах самого модуля, например, install() и uninstall() и уставновщик в backend должен вызывать эти методы
Максим Тимофеев: Вам скорее всего нравится yii-шный QueryBuilder, он и так доступен отовсюду ;) А логику и так вам все говорят up()/down(), install()/uninstall()
Если вы под "модулем в backend" подразумеваете аналог плагинов в Wordpress, то сделайте для каждого модуля установку через какой-нибудь метод install(), в котором вы создаёте необходимые таблицы, вносите/удаляете из них данные и т.д.