Skip to content

Commit 3463e32

Browse files
author
Marc Geurts
committed
Migrate spatie/laravel-activitylog to v5
1 parent 38c0445 commit 3463e32

11 files changed

Lines changed: 69 additions & 27 deletions

File tree

app/Models/Couple.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
use Illuminate\Database\Eloquent\Relations\BelongsTo;
1414
use Illuminate\Database\Eloquent\Relations\HasMany;
1515
use Override;
16-
use Spatie\Activitylog\LogOptions;
17-
use Spatie\Activitylog\Traits\LogsActivity;
16+
use Spatie\Activitylog\Models\Concerns\LogsActivity;
17+
use Spatie\Activitylog\Support\LogOptions;
1818

1919
/**
2020
* @property int $id
@@ -78,7 +78,7 @@ public function getActivitylogOptions(): LogOptions
7878
'team.name',
7979
])
8080
->logOnlyDirty()
81-
->dontSubmitEmptyLogs();
81+
->dontLogEmptyChanges();
8282
}
8383

8484
public function tapActivity(Activity $activity, string $eventName): void

app/Models/Person.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
use Korridor\LaravelHasManyMerged\HasManyMerged;
2222
use Korridor\LaravelHasManyMerged\HasManyMergedRelation;
2323
use Override;
24-
use Spatie\Activitylog\LogOptions;
25-
use Spatie\Activitylog\Traits\LogsActivity;
24+
use Spatie\Activitylog\Models\Concerns\LogsActivity;
25+
use Spatie\Activitylog\Support\LogOptions;
2626
use Spatie\MediaLibrary\HasMedia;
2727
use Spatie\MediaLibrary\InteractsWithMedia;
2828

@@ -140,7 +140,7 @@ public function getActivitylogOptions(): LogOptions
140140
'team.name',
141141
])
142142
->logOnlyDirty()
143-
->dontSubmitEmptyLogs();
143+
->dontLogEmptyChanges();
144144
}
145145

146146
public function tapActivity(Activity $activity, string $eventName): void

app/Models/PersonEvent.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
use Illuminate\Database\Eloquent\Model;
1111
use Illuminate\Database\Eloquent\Relations\BelongsTo;
1212
use Illuminate\Database\Eloquent\SoftDeletes;
13-
use Spatie\Activitylog\LogOptions;
1413
use Spatie\Activitylog\Models\Activity;
15-
use Spatie\Activitylog\Traits\LogsActivity;
14+
use Spatie\Activitylog\Models\Concerns\LogsActivity;
15+
use Spatie\Activitylog\Support\LogOptions;
1616

1717
/**
1818
* @property int $id
@@ -121,7 +121,7 @@ public function getActivitylogOptions(): LogOptions
121121
'place',
122122
])
123123
->logOnlyDirty()
124-
->dontSubmitEmptyLogs();
124+
->dontLogEmptyChanges();
125125
}
126126

127127
public function tapActivity(Activity $activity, string $eventName): void

app/Models/PersonMetadata.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
use Illuminate\Database\Eloquent\Casts\Attribute;
88
use Illuminate\Database\Eloquent\Model;
99
use Illuminate\Database\Eloquent\Relations\BelongsTo;
10-
use Spatie\Activitylog\LogOptions;
11-
use Spatie\Activitylog\Traits\LogsActivity;
10+
use Spatie\Activitylog\Models\Concerns\LogsActivity;
11+
use Spatie\Activitylog\Support\LogOptions;
1212

1313
/**
1414
* @property int $id
@@ -52,7 +52,7 @@ public function getActivitylogOptions(): LogOptions
5252
'value',
5353
])
5454
->logOnlyDirty()
55-
->dontSubmitEmptyLogs();
55+
->dontLogEmptyChanges();
5656
}
5757

5858
public function tapActivity(Activity $activity, string $eventName): void

app/Models/Team.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
use Laravel\Jetstream\Events\TeamDeleted;
1212
use Laravel\Jetstream\Events\TeamUpdated;
1313
use Laravel\Jetstream\Team as JetstreamTeam;
14-
use Spatie\Activitylog\LogOptions;
15-
use Spatie\Activitylog\Traits\LogsActivity;
14+
use Spatie\Activitylog\Models\Concerns\LogsActivity;
15+
use Spatie\Activitylog\Support\LogOptions;
1616

1717
/**
1818
* @property int $id
@@ -68,7 +68,7 @@ public function getActivitylogOptions(): LogOptions
6868
'personal_team',
6969
])
7070
->logOnlyDirty()
71-
->dontSubmitEmptyLogs();
71+
->dontLogEmptyChanges();
7272
}
7373

7474
public function tapActivity(Activity $activity, string $eventName): void

app/Models/User.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
use Laravel\Jetstream\HasTeams;
2121
use Laravel\Sanctum\HasApiTokens;
2222
use Override;
23-
use Spatie\Activitylog\LogOptions;
24-
use Spatie\Activitylog\Traits\LogsActivity;
23+
use Spatie\Activitylog\Models\Concerns\LogsActivity;
24+
use Spatie\Activitylog\Support\LogOptions;
2525

2626
/**
2727
* User Model
@@ -132,7 +132,7 @@ public function getActivitylogOptions(): LogOptions
132132
'is_developer',
133133
])
134134
->logOnlyDirty()
135-
->dontSubmitEmptyLogs();
135+
->dontLogEmptyChanges();
136136
}
137137

138138
public function tapActivity(Activity $activity, string $eventName): void

composer.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
use Illuminate\Database\Migrations\Migration;
6+
use Illuminate\Database\Schema\Blueprint;
7+
use Illuminate\Support\Facades\DB;
8+
use Illuminate\Support\Facades\Schema;
9+
10+
return new class extends Migration
11+
{
12+
/**
13+
* Run the migrations.
14+
*/
15+
public function up(): void
16+
{
17+
// Example upgrade migration
18+
Schema::table('activity_log', function (Blueprint $table) {
19+
$table->json('attribute_changes')->nullable()->after('causer_id');
20+
$table->dropColumn('batch_uuid');
21+
});
22+
23+
// Then migrate existing data: move 'attributes' and 'old' from properties to attribute_changes
24+
DB::table('activity_log')->whereNotNull('properties')->eachById(function ($row) {
25+
$properties = json_decode($row->properties, true);
26+
$changes = array_intersect_key($properties, array_flip(['attributes', 'old']));
27+
$remaining = array_diff_key($properties, array_flip(['attributes', 'old']));
28+
29+
DB::table('activity_log')->where('id', $row->id)->update([
30+
'attribute_changes' => empty($changes) ? null : json_encode($changes),
31+
'properties' => empty($remaining) ? null : json_encode($remaining),
32+
]);
33+
});
34+
}
35+
36+
/**
37+
* Reverse the migrations.
38+
*/
39+
public function down(): void
40+
{
41+
//
42+
}
43+
};

database/seeders/DemoSeeder.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
use App\Models\Team;
1212
use App\Models\User;
1313
use Illuminate\Database\Seeder;
14-
use Spatie\Activitylog\Facades\CauserResolver;
14+
use Spatie\Activitylog\Facades\Activity;
1515

1616
final class DemoSeeder extends Seeder
1717
{
@@ -36,7 +36,7 @@ public function run(): void
3636
{
3737
$manager = User::where('surname', 'Manager')->first();
3838
auth()->login($manager);
39-
CauserResolver::setCauser($manager);
39+
Activity::defaultCauser($manager);
4040

4141
$this->importBritishRoyalsPeople();
4242
$this->importBritishRoyalsCouples();
@@ -46,7 +46,7 @@ public function run(): void
4646

4747
$editor = User::where('surname', 'Editor')->first();
4848
auth()->login($editor);
49-
CauserResolver::setCauser($editor);
49+
Activity::defaultCauser($editor);
5050

5151
$this->importKennedyPeople();
5252
$this->importKennedyCouples();
@@ -55,7 +55,7 @@ public function run(): void
5555

5656
$developer = User::where('surname', 'Developer')->first();
5757
auth()->login($developer);
58-
CauserResolver::setCauser($developer);
58+
Activity::defaultCauser($developer);
5959

6060
$this->generatedeveloperTestData();
6161

database/seeders/UserSeeder.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
use App\Models\User;
88
use App\Models\Userlog;
99
use Illuminate\Database\Seeder;
10-
use Spatie\Activitylog\Facades\CauserResolver;
10+
use Spatie\Activitylog\Facades\Activity;
1111

1212
final class UserSeeder extends Seeder
1313
{
@@ -28,7 +28,7 @@ public function run(): void
2828
$this->createUserlogs($developer);
2929
}
3030

31-
CauserResolver::setCauser($developer);
31+
Activity::defaultCauser($developer);
3232

3333
// -----------------------------------------------------------------------------------
3434
// create administrator user

0 commit comments

Comments
 (0)