protected function loadColumnsFromTableInfo()
 {
     $this->columns = [];
     $columns = $this->tableInfo->getColumns();
     $primaryKey = $this->tableInfo->getPrimaryKey();
     $primaryKeyColumns = [];
     if ($primaryKey) {
         $primaryKeyColumns = $primaryKey->getColumns();
     }
     foreach ($columns as $column) {
         $columnName = $column->getName();
         $typeName = $column->getType()->getName();
         if ($typeName == EnumDbType::TYPENAME) {
             throw new ApplicationException(Lang::get('rainlab.builder::lang.database.error_enum_not_supported'));
         }
         $item = ['name' => $columnName, 'type' => MigrationColumnType::toMigrationMethodName($typeName, $columnName), 'length' => MigrationColumnType::doctrineLengthToMigrationLength($column), 'unsigned' => $column->getUnsigned(), 'allow_null' => !$column->getNotnull(), 'auto_increment' => $column->getAutoincrement(), 'primary_key' => in_array($columnName, $primaryKeyColumns), 'default' => $column->getDefault(), 'id' => $columnName];
         $this->columns[] = $item;
     }
 }
 protected function generateDefaultMethodCall($default, $column)
 {
     $columnName = $column->getName();
     $typeName = $column->getType()->getName();
     $type = MigrationColumnType::toMigrationMethodName($typeName, $columnName);
     if (in_array($type, MigrationColumnType::getIntegerTypes()) || in_array($type, MigrationColumnType::getDecimalTypes()) || $type == MigrationColumnType::TYPE_BOOLEAN) {
         return sprintf('->default(%s)', $default);
     }
     return sprintf('->default(\'%s\')', $this->quoteParameter($default));
 }
 protected function loadColumnsFromTableInfo()
 {
     $this->columns = [];
     $columns = $this->tableInfo->getColumns();
     $primaryKey = $this->tableInfo->getPrimaryKey();
     $primaryKeyColumns = [];
     if ($primaryKey) {
         $primaryKeyColumns = $primaryKey->getColumns();
     }
     foreach ($columns as $column) {
         $columnName = $column->getName();
         $typeName = $column->getType()->getName();
         $item = ['name' => $columnName, 'type' => MigrationColumnType::toMigrationMethodName($typeName, $columnName), 'length' => MigrationColumnType::doctrineLengthToMigrationLength($column), 'unsigned' => $column->getUnsigned(), 'allow_null' => !$column->getNotnull(), 'auto_increment' => $column->getAutoincrement(), 'primary_key' => in_array($columnName, $primaryKeyColumns), 'default' => $column->getDefault(), 'id' => $columnName];
         $this->columns[] = $item;
     }
 }