Ejemplo n.º 1
0
 function toDialectString(IDialect $dialect)
 {
     // tables
     // columns
     // constraints
     // indexes
     $yield = array();
     foreach ($this->dropIndexes as $index) {
         $yield[] = new DropIndexQuery($index);
     }
     foreach ($this->dropConstraints as $constraint) {
         $yield[] = new DropConstraintQuery($constraint);
     }
     foreach ($this->dropColumns as $column) {
         $yield[] = new DropColumnQuery($column);
     }
     foreach ($this->dropTables as $table) {
         $yield[] = new DropTableQuery($table);
     }
     foreach ($this->createTables as $table) {
         $yield[] = new CreateTableQuery($table);
     }
     foreach ($this->createColumns as $column) {
         $yield[] = new CreateColumnQuery($column);
     }
     foreach ($this->createConstraints as $constraint) {
         $yield[] = new CreateConstraintQuery($constraint);
         foreach ($this->createTables as $table) {
             foreach ($table->getConstraintQueries() as $query) {
                 $yield[] = $query;
             }
         }
     }
     foreach ($this->createIndexes as $index) {
         $yield[] = new CreateIndexQuery($index);
         foreach ($this->createTables as $table) {
             foreach ($table->getIndexQueries() as $query) {
                 $yield[] = $query;
             }
         }
     }
     foreach ($this->createTables as $table) {
         foreach ($dialect->getExtraTableQueries($table) as $query) {
             $yield[] = $query;
         }
     }
     $set = new SqlQuerySet($yield);
     return $set->toDialectString($dialect);
 }