From 4dd4977dd9902d6ad5aba225cef1f0564c80695d Mon Sep 17 00:00:00 2001 From: Jonny Barnes Date: Thu, 8 Jan 2026 18:21:28 +0000 Subject: [PATCH] Fix issue with migrating old S3 media --- app/Console/Commands/MigrateMedia.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/app/Console/Commands/MigrateMedia.php b/app/Console/Commands/MigrateMedia.php index 987da9af..008a263f 100644 --- a/app/Console/Commands/MigrateMedia.php +++ b/app/Console/Commands/MigrateMedia.php @@ -71,18 +71,27 @@ class MigrateMedia extends Command continue; } - // Copy the file - Storage::disk('public')->writeStream('media'.DIRECTORY_SEPARATOR.$oldMediaItem->file_name, Storage::disk('s3')->readStream($oldMediaItem->id.DIRECTORY_SEPARATOR.$oldMediaItem->file_name)); // Save relationship based on `media.model_id` // I have already checked they are all notes - $note = $oldMediaItem->model_id; + $noteId = $oldMediaItem->model_id; + $note = Note::find($noteId); + if (! $note) { + $this->warn('Note no longer exists'); + + continue; + } + + // Create media entry in database and attach to note $newMediaItem = Media::create([ 'path' => 'media'.DIRECTORY_SEPARATOR.$oldMediaItem->file_name, 'type' => 'image', ]); $note->media()->attach($newMediaItem->id); + // Copy the file + Storage::disk('public')->writeStream('media'.DIRECTORY_SEPARATOR.$oldMediaItem->file_name, Storage::disk('s3')->readStream($oldMediaItem->id.DIRECTORY_SEPARATOR.$oldMediaItem->file_name)); + $this->info('Media item migrated from S3'); }