Spaces:
No application file
No application file
| declare(strict_types=1); | |
| namespace Mautic\Migrations; | |
| use Doctrine\DBAL\Schema\Schema; | |
| use Mautic\CoreBundle\Doctrine\AbstractMauticMigration; | |
| /** | |
| * Move config files that contain local config to a folder outside the application data. | |
| */ | |
| final class Versionzz20230929183000 extends AbstractMauticMigration | |
| { | |
| public function preUp(Schema $schema): void | |
| { | |
| [$appConfigDir] = $this->getConfigDirs(); | |
| $matches = glob($appConfigDir.'/*local.php'); | |
| $this->skipIf( | |
| 0 == count($matches), | |
| 'There are no local config files to migrate. Skipping the migration.' | |
| ); | |
| } | |
| public function up(Schema $schema): void | |
| { | |
| $pathsHelper = $this->container->get('mautic.helper.paths'); | |
| $appConfigDir = $pathsHelper->getRootPath().'/app/config'; | |
| $localConfigDir = $pathsHelper->getVendorRootPath().'/config'; | |
| $matches = glob($appConfigDir.'/*local.php'); | |
| foreach ($matches as $file) { | |
| rename($file, $localConfigDir.'/'.pathinfo($file, PATHINFO_BASENAME)); | |
| } | |
| } | |
| /** | |
| * @return string[] | |
| */ | |
| public function getConfigDirs(): array | |
| { | |
| $pathsHelper = $this->container->get('mautic.helper.paths'); | |
| $appConfigDir = $pathsHelper->getRootPath().'/app/config'; | |
| $localConfigDir = $pathsHelper->getVendorRootPath().'/config'; | |
| return [$appConfigDir, $localConfigDir]; | |
| } | |
| } | |