예제 #1
0
파일: Source.php 프로젝트: hippout/eco-test
 /**
  * Возвращает запросы на создание таблиц базы -цели
  * @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);
 }