From f438ce70eb4e957804d028eeca2b6e737701d661 Mon Sep 17 00:00:00 2001 From: Marek Rzytki Date: Mon, 3 Jun 2024 10:03:45 +0200 Subject: [PATCH 1/4] Update installation doc --- doc/installation.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/installation.md b/doc/installation.md index 87cb742..8b7ddab 100644 --- a/doc/installation.md +++ b/doc/installation.md @@ -3,7 +3,7 @@ ## Installation ```bash -$ composer require bitbag/mailtemplate-plugin +$ composer require bitbag/mailtemplate-plugin --no-scripts ``` 1. Add plugin dependencies to your `config/bundles.php` file: @@ -34,9 +34,10 @@ bitbag_sylius_mail_template_plugin: resource: "@BitBagSyliusMailTemplatePlugin/Resources/config/routing.yaml" ``` -4. Update your database +4. Update your database and clear cache ``` +$ bin/console cache:clear $ bin/console doctrine:migrations:migrate ``` From 4875ba510e2d22cfe25c294e1d89ae6d729fe8a4 Mon Sep 17 00:00:00 2001 From: Marek Rzytki Date: Mon, 3 Jun 2024 10:03:55 +0200 Subject: [PATCH 2/4] Fix missing doctrine migrations path --- tests/Application/config/packages/doctrine_migrations.yaml | 2 ++ tests/Application/src/Migrations/.gitkeep | 0 2 files changed, 2 insertions(+) create mode 100644 tests/Application/src/Migrations/.gitkeep diff --git a/tests/Application/config/packages/doctrine_migrations.yaml b/tests/Application/config/packages/doctrine_migrations.yaml index cdbc01a..08e83b8 100644 --- a/tests/Application/config/packages/doctrine_migrations.yaml +++ b/tests/Application/config/packages/doctrine_migrations.yaml @@ -2,3 +2,5 @@ doctrine_migrations: storage: table_storage: table_name: sylius_migrations + migrations_paths: + 'App\Migrations': '%kernel.project_dir%/src/Migrations/' diff --git a/tests/Application/src/Migrations/.gitkeep b/tests/Application/src/Migrations/.gitkeep new file mode 100644 index 0000000..e69de29 From 230c50a95fefe86af53953a68b776c279918f3da Mon Sep 17 00:00:00 2001 From: Marek Rzytki Date: Mon, 3 Jun 2024 10:38:29 +0200 Subject: [PATCH 3/4] Add migrations prepend to plugin extension class --- .../BitBagSyliusMailTemplateExtension.php | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/src/DependencyInjection/BitBagSyliusMailTemplateExtension.php b/src/DependencyInjection/BitBagSyliusMailTemplateExtension.php index 5ef9ed3..7e8eb2a 100644 --- a/src/DependencyInjection/BitBagSyliusMailTemplateExtension.php +++ b/src/DependencyInjection/BitBagSyliusMailTemplateExtension.php @@ -15,9 +15,10 @@ use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Extension\Extension; +use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface; use Symfony\Component\DependencyInjection\Loader\XmlFileLoader; -final class BitBagSyliusMailTemplateExtension extends Extension +final class BitBagSyliusMailTemplateExtension extends Extension implements PrependExtensionInterface { public const ALLOWED_FILTERS_PARAMETER = 'bitbag_sylius_mail_template_plugin.mail_template.twig.allowed_filters'; @@ -71,4 +72,36 @@ public function getConfiguration(array $config, ContainerBuilder $container): Co { return new Configuration(); } + + public function prepend(ContainerBuilder $container) + { + if (!$container->hasExtension('doctrine_migrations') || !$container->hasExtension('sylius_labs_doctrine_migrations_extra')) { + return; + } + + if ( + $container->hasParameter('sylius_core.prepend_doctrine_migrations') && + false === $container->getParameter('sylius_core.prepend_doctrine_migrations') + ) { + return; + } + + /** @var array $doctrineConfig */ + $doctrineConfig = $container->getExtensionConfig('doctrine_migrations'); + $migrationsPath = (array) \array_pop($doctrineConfig)['migrations_paths']; + $container->prependExtensionConfig('doctrine_migrations', [ + 'migrations_paths' => \array_merge( + $migrationsPath, + [ + 'BitBag\MailTemplatePlugin\Migrations' => '@BitBagSyliusMailTemplatePlugin/Migrations', + ], + ), + ]); + + $container->prependExtensionConfig('sylius_labs_doctrine_migrations_extra', [ + 'migrations' => [ + 'BitBag\MailTemplatePlugin\Migrations' => ['Sylius\Bundle\CoreBundle\Migrations'], + ], + ]); + } } From bf4c889f1e29ec76e673f53c5d47ac8e588ac3be Mon Sep 17 00:00:00 2001 From: Marek Rzytki Date: Mon, 3 Jun 2024 10:42:59 +0200 Subject: [PATCH 4/4] Change namespace and add return type --- .../BitBagSyliusMailTemplateExtension.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/DependencyInjection/BitBagSyliusMailTemplateExtension.php b/src/DependencyInjection/BitBagSyliusMailTemplateExtension.php index 7e8eb2a..0f511d4 100644 --- a/src/DependencyInjection/BitBagSyliusMailTemplateExtension.php +++ b/src/DependencyInjection/BitBagSyliusMailTemplateExtension.php @@ -73,7 +73,7 @@ public function getConfiguration(array $config, ContainerBuilder $container): Co return new Configuration(); } - public function prepend(ContainerBuilder $container) + public function prepend(ContainerBuilder $container): void { if (!$container->hasExtension('doctrine_migrations') || !$container->hasExtension('sylius_labs_doctrine_migrations_extra')) { return; @@ -93,14 +93,14 @@ public function prepend(ContainerBuilder $container) 'migrations_paths' => \array_merge( $migrationsPath, [ - 'BitBag\MailTemplatePlugin\Migrations' => '@BitBagSyliusMailTemplatePlugin/Migrations', + 'BitBag\SyliusMailTemplatePlugin\Migrations' => '@BitBagSyliusMailTemplatePlugin/Migrations', ], ), ]); $container->prependExtensionConfig('sylius_labs_doctrine_migrations_extra', [ 'migrations' => [ - 'BitBag\MailTemplatePlugin\Migrations' => ['Sylius\Bundle\CoreBundle\Migrations'], + 'BitBag\SyliusMailTemplatePlugin\Migrations' => ['Sylius\Bundle\CoreBundle\Migrations'], ], ]); }