Issues (364)

app/Upgrades/DumpActivityLog.php (2 issues)

1
<?php
2
3
namespace App\Upgrades;
4
5
use Illuminate\Database\Eloquent\Builder;
6
use Illuminate\Support\Facades\DB;
7
use Illuminate\Support\Facades\Schema;
8
use LaravelEnso\Menus\Models\Menu;
9
use LaravelEnso\Permissions\Models\Permission;
10
use LaravelEnso\Upgrade\Contracts\MigratesData;
11
use LaravelEnso\Upgrade\Contracts\MigratesPostDataMigration;
12
13
class DumpActivityLog implements MigratesData, MigratesPostDataMigration
14
{
15
    public function isMigrated(): bool
16
    {
17
        return $this->menu()->doesntExist();
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->menu()->doesntExist() could return the type Illuminate\Database\Eloquent\Builder which is incompatible with the type-hinted return boolean. Consider adding an additional type-check to rule them out.
Loading history...
18
    }
19
20
    public function migrateData(): void
21
    {
22
        DB::table('migrations')->whereIn('migration', [
23
            '2018_08_09_100000_create_activity_logs_table',
24
            '2018_08_09_101000_create_structure_for_activity_logs',
25
        ])->delete();
26
27
        $this->menu()->delete();
28
29
        Permission::whereName('core.activityLogs.index')->delete();
30
    }
31
32
    public function migratePostDataMigration(): void
33
    {
34
        Schema::dropIfExists('activity_logs');
35
    }
36
37
    private function menu(): Builder
38
    {
39
        return Menu::whereName('Activity Log');
0 ignored issues
show
Bug Best Practice introduced by
The expression return LaravelEnso\Menus...ereName('Activity Log') could return the type Illuminate\Database\Eloq...gHasThroughRelationship which is incompatible with the type-hinted return Illuminate\Database\Eloquent\Builder. Consider adding an additional type-check to rule them out.
Loading history...
40
    }
41
}
42