Spaces:
No application file
No application file
| declare(strict_types=1); | |
| namespace Mautic\IntegrationsBundle\Bundle; | |
| use Doctrine\DBAL\Schema\Schema; | |
| use Mautic\CoreBundle\Factory\MauticFactory; | |
| use Mautic\IntegrationsBundle\Migration\Engine; | |
| use Mautic\PluginBundle\Bundle\PluginBundleBase; | |
| use Mautic\PluginBundle\Entity\Plugin; | |
| /** | |
| * Base Bundle class which should be extended by addon bundles. | |
| */ | |
| abstract class AbstractPluginBundle extends PluginBundleBase | |
| { | |
| /** | |
| * @param array|null $metadata | |
| * | |
| * @throws \Exception | |
| */ | |
| public static function onPluginUpdate(Plugin $plugin, MauticFactory $factory, $metadata = null, ?Schema $installedSchema = null): void | |
| { | |
| $entityManager = $factory->getEntityManager(); | |
| $tablePrefix = (string) $factory->getParameter('mautic.db_table_prefix'); | |
| $migrationEngine = new Engine( | |
| $entityManager, | |
| $tablePrefix, | |
| __DIR__.'/../../../../plugins/'.$plugin->getBundle(), | |
| $plugin->getBundle() | |
| ); | |
| $migrationEngine->up(); | |
| } | |
| } | |