/** * Возвращает запросы на создание таблиц базы -цели * @param Target $target - целевая БД */ public function getTablesCreationQueries(Target $target) { $queriesSrc = $target->getSchema()->getMigrateToSql($this->getSchema(), $target->getConnect()->getDatabasePlatform()); $tablesQueries = array(); $indexesQueries = array(); foreach ($queriesSrc as $query) { if (preg_match('/^CREATE TABLE ([a-z0-9_]*) .*/', $query, $matched) && in_array($matched[1], $this->exportingTables)) { $tablesQueries[] = $query; } elseif (preg_match('/^CREATE[ UNIQUE]* INDEX .* ON ([a-z0-9_]*) .*/', $query, $matched) && in_array($matched[1], $this->exportingTables)) { $indexesQueries[] = $query; } } return array_merge($tablesQueries, $indexesQueries); }