示例#1
0
 /**
  * @param Table $table
  */
 protected function analyseIndexes(Table $table)
 {
     $tableName = $table->getName();
     // Analyse indexes
     $indexes = $this->driver->getIndexes($tableName);
     $keys = $this->driver->getForeignKeys($tableName);
     foreach ($indexes as $index) {
         foreach ($index['columns'] as $col) {
             $column = $table->getColumn($col);
             $column->setPrimary($index['primary']);
             $column->setUnique($index['unique']);
             $column->setIndex(TRUE);
         }
     }
     foreach ($keys as $key) {
         $column = $table->getColumn($key['local']);
         $column->setForeignKey($foreign = new ForeignKey());
         $foreign->setSourceTable($table->getName());
         $foreign->setSourceColumn($key['local']);
         $foreign->setReferenceTable($key['table']);
         $foreign->setReferenceColumn($key['foreign']);
     }
 }