$path = $_SERVER['argv']['1']; if (!is_dir($path)) { $path = Dearchiver::extract($container->getFileDirectory(), $path); } $directory = new Directory($path); } else { $loader = $container->getInitLoader(); $directory = $loader->load(); } // Получаем VersionId поскольку если его не окажется, то сообщение об этом мы получим только в самом конце 15-ти минутного процесса, что не очень приятно. $versionId = $directory->getVersionId(); DbHelper::runFile($dataBaseName, $dbPath . '/01_tables.sql'); DbHelper::runFile($dataBaseName, $dbPath . '/02_system_data.sql'); $addressObjectsConfig = $container->getAddressObjectsImportConfig(); $addressObjects = new AddressObjectsImporter($db, $addressObjectsConfig['table_name'], $addressObjectsConfig['fields']); $reader = new XmlReader($directory->getAddressObjectFile(), $addressObjectsConfig['node_name'], array_keys($addressObjectsConfig['fields']), $addressObjectsConfig['filters']); $addressObjects->import($reader); $housesConfig = $container->getHousesImportConfig(); if ($housesConfig) { $houses = new HousesImporter($db, $housesConfig['table_name'], $housesConfig['fields']); $reader = new XmlReader($directory->getHouseFile(), $housesConfig['node_name'], array_keys($housesConfig['fields'])); $houses->import($reader); } DbHelper::runFile($dataBaseName, $dbPath . '/03_indexes.sql'); $addressObjects->modifyDataAfterImport(); if ($housesConfig) { $houses->modifyDataAfterImport(); } DbHelper::runFile($dataBaseName, $dbPath . '/04_constraints.sql'); DbHelper::runFile($dataBaseName, $dbPath . '/05_clean_up.sql'); UpdateLogHelper::addVersionIdToLog($db, $versionId);
public function testRun() { DbHelper::runFile($this->container->getDatabaseName(), __DIR__ . '/resources/correctScript.sql'); $this->assertEquals(2, $this->db->execute('SELECT * FROM "correctTable"')->getNumRows()); }