コード例 #1
0
ファイル: Table.php プロジェクト: addiks/phpsql
 public function modifyColumn(ColumnSchema $columnSchema, ColumnDataInterface $addedColumnData)
 {
     /* @var $tableSchema TableSchema */
     $tableSchema = $this->getTableSchema();
     $columnIndex = $tableSchema->getColumnIndex($columnSchema->getName());
     $originalColumn = $tableSchema->getColumn($columnIndex);
     if (is_null($columnIndex)) {
         throw new InvalidArgumentException("Column '{$columnSchema->getName()}' does not exist!");
     }
     $columnSchema->setIndex($originalColumn->getIndex());
     $tableSchema->writeColumn($columnIndex, $columnSchema);
     $oldColumnData = $this->getColumnData($columnIndex);
     foreach ($oldColumnData as $rowId => $cellData) {
         $addedColumnData->setCellData($rowId, $cellData);
     }
     $this->columnDatas[$columnIndex] = $addedColumnData;
 }