| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?php
- namespace Illuminate\Database\Schema\Grammars;
- use Illuminate\Database\Connection;
- use Illuminate\Database\Schema\Blueprint;
- use Illuminate\Support\Fluent;
- class MariaDbGrammar extends MySqlGrammar
- {
- /**
- * Compile a rename column command.
- *
- * @param \Illuminate\Database\Schema\Blueprint $blueprint
- * @param \Illuminate\Support\Fluent $command
- * @param \Illuminate\Database\Connection $connection
- * @return array|string
- */
- public function compileRenameColumn(Blueprint $blueprint, Fluent $command, Connection $connection)
- {
- if (version_compare($connection->getServerVersion(), '10.5.2', '<')) {
- return $this->compileLegacyRenameColumn($blueprint, $command, $connection);
- }
- return parent::compileRenameColumn($blueprint, $command, $connection);
- }
- /**
- * Create the column definition for a uuid type.
- *
- * @param \Illuminate\Support\Fluent $column
- * @return string
- */
- protected function typeUuid(Fluent $column)
- {
- return 'uuid';
- }
- /**
- * Create the column definition for a spatial Geometry type.
- *
- * @param \Illuminate\Support\Fluent $column
- * @return string
- */
- protected function typeGeometry(Fluent $column)
- {
- $subtype = $column->subtype ? strtolower($column->subtype) : null;
- if (! in_array($subtype, ['point', 'linestring', 'polygon', 'geometrycollection', 'multipoint', 'multilinestring', 'multipolygon'])) {
- $subtype = null;
- }
- return sprintf('%s%s',
- $subtype ?? 'geometry',
- $column->srid ? ' ref_system_id='.$column->srid : ''
- );
- }
- }
|