Skip to content

Commit

Permalink
Support MariaDB driver
Browse files Browse the repository at this point in the history
  • Loading branch information
staudenmeir committed May 17, 2024
1 parent a9bb1a2 commit 4ffecce
Show file tree
Hide file tree
Showing 6 changed files with 48 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
strategy:
matrix:
php: [ 8.3, 8.2 ]
database: [ mysql, pgsql, sqlite, sqlsrv ]
database: [ mysql, mariadb, pgsql, sqlite, sqlsrv ]
release: [ stable, lowest ]
include:
- php: 8.3
Expand Down
7 changes: 7 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,13 @@ services:
retries: 10
networks:
- test
mariadb:
image: 'mariadb:latest'
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: test
networks:
- test
pgsql:
image: 'postgres:latest'
environment:
Expand Down
6 changes: 6 additions & 0 deletions src/Facades/Schema.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@
use Illuminate\Database\Connection;
use Illuminate\Support\Facades\Facade;
use RuntimeException;
use Staudenmeir\LaravelMigrationViews\Schema\Builders\MariaDbBuilder;
use Staudenmeir\LaravelMigrationViews\Schema\Builders\MySqlBuilder;
use Staudenmeir\LaravelMigrationViews\Schema\Builders\PostgresBuilder;
use Staudenmeir\LaravelMigrationViews\Schema\Builders\SQLiteBuilder;
use Staudenmeir\LaravelMigrationViews\Schema\Builders\SqlServerBuilder;
use Staudenmeir\LaravelMigrationViews\Schema\Grammars\MariaDbGrammar;
use Staudenmeir\LaravelMigrationViews\Schema\Grammars\MySqlGrammar;
use Staudenmeir\LaravelMigrationViews\Schema\Grammars\PostgresGrammar;
use Staudenmeir\LaravelMigrationViews\Schema\Grammars\SQLiteGrammar;
Expand Down Expand Up @@ -64,6 +66,10 @@ public static function getSchemaBuilder(Connection $connection)
$connection->setSchemaGrammar($connection->withTablePrefix(new MySqlGrammar()));

return new MySqlBuilder($connection);
case 'mariadb':
$connection->setSchemaGrammar($connection->withTablePrefix(new MariaDbGrammar()));

return new MariaDbBuilder($connection);
case 'pgsql':
$connection->setSchemaGrammar($connection->withTablePrefix(new PostgresGrammar()));

Expand Down
10 changes: 10 additions & 0 deletions src/Schema/Builders/MariaDbBuilder.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?php

namespace Staudenmeir\LaravelMigrationViews\Schema\Builders;

use Illuminate\Database\Schema\MariaDbBuilder as Base;

class MariaDbBuilder extends Base
{
use ManagesViews;
}
10 changes: 10 additions & 0 deletions src/Schema/Grammars/MariaDbGrammar.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?php

namespace Staudenmeir\LaravelMigrationViews\Schema\Grammars;

use Illuminate\Database\Schema\Grammars\MariaDbGrammar as Base;

class MariaDbGrammar extends Base
{
use CompilesViews;
}
14 changes: 14 additions & 0 deletions tests/config/database.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,20 @@
'strict' => true,
'engine' => null,
],
'mariadb' => [
'driver' => 'mariadb',
'host' => 'mariadb',
'port' => '3306',
'database' => 'test',
'username' => 'root',
'password' => 'password',
'unix_socket' => '',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_uca1400_ai_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
'pgsql' => [
'driver' => 'pgsql',
'host' => 'pgsql',
Expand Down

0 comments on commit 4ffecce

Please sign in to comment.