Laravel 13.26 Nouveauté Publié le

Migrer des fichiers au fil des lectures avec read-through

Un disque read-through lit le nouveau stockage, se replie sur l'ancien et recopie ce qu'il y trouve : la migration se fait toute seule.

Notions abordées : Stockage

Nouveau dans Laravel 13.26. Pour déplacer des fichiers vers un nouveau stockage sans tout copier d'un coup, on écrivait le repli à la main : lire le nouveau disque, sinon l'ancien, et recopier au passage. Le pilote read-through fait exactement cela.

Avant

if (Storage::disk('nouveau')->exists($nom)) {
    return Storage::disk('nouveau')->get($nom);
}
$contenu = Storage::disk('ancien')->get($nom);
Storage::disk('nouveau')->put($nom, $contenu);

Depuis Laravel 13.26

// config/filesystems.php
'documents' => [
    'driver' => 'read-through',
    'primary' => 'nouveau',
    'fallback' => 'ancien',
],
Storage::disk('documents')->get($nom);

Le disque lit d'abord primary. Un fichier présent seulement sur fallback est renvoyé, puis copié sur primary pour la prochaine fois. Les écritures et les listes de fichiers visent primary.

À faire

Déclarez un disque documents en read-through dans config/filesystems.php, puis simplifiez DocumentController : il ne doit plus connaître l'ancien stockage.

D'où vient la fonctionnalité : la pull request d'origine.