insertSql(null, [__DIR__ . "/Config/thelia.sql"]); self::setConfigValue('is_initialized', 1); } } public function update($currentVersion, $newVersion, ConnectionInterface $con = null):void { $sqlToExecute = []; $finder = new Finder(); $sort = function (\SplFileInfo $a, \SplFileInfo $b) { $a = strtolower(substr($a->getRelativePathname(), 0, -4)); $b = strtolower(substr($b->getRelativePathname(), 0, -4)); return version_compare($a, $b); }; $files = $finder->name('*.sql') ->in(__DIR__ . "/Config/Update/") ->sort($sort); foreach ($files as $file) { if (version_compare($file->getFilename(), $currentVersion, ">")) { $sqlToExecute[$file->getFilename()] = $file->getRealPath(); } } $database = new Database($con); foreach ($sqlToExecute as $version => $sql) { $database->insertSql(null, [$sql]); } } /** * Defines how services are loaded in your modules. */ public static function configureServices(ServicesConfigurator $servicesConfigurator): void { $servicesConfigurator->load(self::getModuleCode().'\\', __DIR__) ->exclude([THELIA_MODULE_DIR.ucfirst(self::getModuleCode()).'/I18n/*']) ->autowire(true) ->autoconfigure(true); } }