/** * DynamicField 는 기본으로 'id' 컬럼과 조인하도록 설정된다. * JoinColumn 정보가 없을 경우 기본 컬럼인 'id' 컬럼을 생성하여 리턴한다. * * @return ColumnEntity */ private function getDefaultJoinColumn() { $column = new ColumnEntity(ConfigHandler::DEFAULT_JOIN_COLUMN_NAME, ColumnDataType::STRING); $column->setParams(array(36)); return $column; }
/** * Dynamic Field Type revision 테이블 생성 * * @param ColumnEntity $column join column entity * @return void */ private function createRevisionTable(ColumnEntity $column) { // create revision table if ($this->config->get('revision') === true) { $self = $this; $this->handler->connection()->getSchemaBuilder()->create($this->handler->getConfigHandler()->getRevisionTableName($this->config), function (Blueprint $table) use($column, $self) { $table->string('revisionId', 255); $table->integer('revisionNo')->default(0); $column->add($table); /** * @var ColumnEntity $addColumn */ foreach ($self->getColumns() as $addColumn) { $addColumn->add($table, $self->config->get('id') . '_'); } $table->primary(array('revisionId'), 'primaryKey'); $table->index($column->name, $column->name); }); } }