Skip to content

Commit 9c6e6c0

Browse files
Merge pull request #280 from Magnesium38/handle-parens
Handle Parentheses On Anonymous Settings Migrations
2 parents e96ad62 + 0916596 commit 9c6e6c0

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

src/LaravelSettingsServiceProvider.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ private function removeMigrationsWhenSchemaLoaded(SchemaLoaded $event)
7878
if (
7979
str_contains($contents, 'return new class extends '.SettingsMigration::class)
8080
|| str_contains($contents, 'return new class extends SettingsMigration')
81+
|| str_contains($contents, 'return new class() extends '.SettingsMigration::class)
82+
|| str_contains($contents, 'return new class() extends SettingsMigration')
8183
) {
8284
return $file->getBasename('.php');
8385
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
use Spatie\LaravelSettings\Migrations\SettingsBlueprint;
4+
use Spatie\LaravelSettings\Migrations\SettingsMigration;
5+
6+
return new class() extends SettingsMigration {
7+
public function up(): void
8+
{
9+
$this->migrator->inGroup('anonymous-class-with-parentheses-general', function (SettingsBlueprint $migrator) {
10+
$migrator->add('name', 'laravel-settings');
11+
$migrator->add('organization', 'spatie');
12+
});
13+
}
14+
};

tests/SettingsTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,7 @@
453453
assertDatabaseHas('migrations', ['migration' => '2018_11_21_091111_create_fake_anonymous_class_settings']);
454454
assertDatabaseHas('migrations', ['migration' => '2018_11_21_091111_create_fake_table']);
455455
assertDatabaseHas('migrations', ['migration' => '2018_11_21_091111_create_fake_anonymous_class_table']);
456+
assertDatabaseHas('migrations', ['migration' => '2018_11_21_091111_create_fake_anonymous_class_with_parentheses_settings']);
456457

457458
event(new SchemaLoaded(
458459
DB::connection(),
@@ -461,6 +462,7 @@
461462

462463
assertDatabaseMissing('migrations', ['migration' => '2018_11_21_091111_create_fake_settings']);
463464
assertDatabaseMissing('migrations', ['migration' => '2018_11_21_091111_create_fake_anonymous_class_settings']);
465+
assertDatabaseMissing('migrations', ['migration' => '2018_11_21_091111_create_fake_anonymous_class_with_parentheses_settings']);
464466
assertDatabaseHas('migrations', ['migration' => '2018_11_21_091111_create_fake_table']);
465467
assertDatabaseHas('migrations', ['migration' => '2018_11_21_091111_create_fake_anonymous_class_table']);
466468
})->skip(fn () => Str::startsWith(app()->version(), '7'), 'No support for dumping migrations in Laravel 7');

0 commit comments

Comments
 (0)