Skip to content
This repository was archived by the owner on Jan 7, 2025. It is now read-only.

Commit 4ae6c87

Browse files
cs
1 parent 12a9cb1 commit 4ae6c87

File tree

2 files changed

+13
-40
lines changed

2 files changed

+13
-40
lines changed
Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
<?php
22

3-
43
namespace Dyrynda\Database\Exceptions;
54

6-
75
class UnknownGrammarClass extends \Exception
86
{
9-
/**
10-
* @var string
11-
*/
7+
/** @var string */
128
protected $message = 'Unknown grammar class, unable to define database type.';
139
}

src/LaravelEfficientUuidServiceProvider.php

Lines changed: 12 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2,58 +2,35 @@
22

33
namespace Dyrynda\Database;
44

5-
use Illuminate\Database\Connection;
6-
use Illuminate\Database\Schema\ColumnDefinition;
7-
use Illuminate\Database\Schema\Grammars\Grammar;
85
use Illuminate\Support\Fluent;
96
use Illuminate\Support\ServiceProvider;
107
use Illuminate\Database\Schema\Blueprint;
11-
use Dyrynda\Database\Connection\MySqlConnection;
12-
use Dyrynda\Database\Connection\SQLiteConnection;
13-
use Dyrynda\Database\Connection\PostgresConnection;
8+
use Illuminate\Database\Schema\ColumnDefinition;
9+
use Illuminate\Database\Schema\Grammars\Grammar;
1410
use Dyrynda\Database\Exceptions\UnknownGrammarClass;
1511

1612
class LaravelEfficientUuidServiceProvider extends ServiceProvider
1713
{
18-
/**
19-
* Bootstrap any application services.
20-
*
21-
* @return void
22-
*/
23-
public function boot()
24-
{
25-
//
26-
}
27-
28-
/**
29-
* Register any application services.
30-
*
31-
* @return void
32-
*/
3314
public function register()
3415
{
35-
3616
Grammar::macro('typeEfficientUuid', function (Fluent $column) {
37-
$className = (new \ReflectionClass($this))->getShortName();
17+
switch (class_basename(static::class)) {
18+
case 'MySqlGrammar':
19+
return sprintf('binary(%d)', $column->length ?? 16);
3820

39-
if ($className === "MySqlGrammar") {
40-
return sprintf('binary(%d)', $column->length ?? 16);
41-
}
21+
case 'PostgresGrammar':
22+
return 'bytea';
4223

43-
if ($className === "PostgresGrammar") {
44-
return 'bytea';
45-
}
24+
case 'SQLiteGrammar':
25+
return 'blob(256)';
4626

47-
if ($className === "SQLiteGrammar") {
48-
return 'blob(256)';
27+
default:
28+
throw new UnknownGrammarClass;
4929
}
50-
51-
throw new UnknownGrammarClass();
5230
});
5331

54-
5532
Blueprint::macro('efficientUuid', function ($column): ColumnDefinition {
56-
/** @var Blueprint $this */
33+
/* @var Blueprint $this */
5734
return $this->addColumn('efficientUuid', $column);
5835
});
5936
}

0 commit comments

Comments
 (0)