Пакет One Time Operations для Laravel можно использовать для выполнения кода, который после развертывания должен выполняться только один раз. С помощью этого пакета можно создавать классы операций, которые могут выполняться автоматически с помощью предоставленной команды Artisan. Подобно миграциям, они обрабатываются только один раз, а затем никогда не запускаются снова.
При создании классов с помощью команды этого пакета operations:make
они используют анонимные классы, расширяющие OneTimeOperation
класс:
use TimoKoerber\LaravelOneTimeOperations\OneTimeOperation;
return new class extends OneTimeOperation
{
/**
* Determine if the operation is being processed asyncronously.
*/
protected bool $async = true;
/**
* Process the operation.
*/
public function process(): void
{
//
}
};
Используя этот пакет, можно обновить определенные данные после развертывания нового кода, начальные данные после миграции или запустить любой тип кода, который необходимо выполнить только один раз в тандеме с развертыванием. Этот пакет также предоставляет возможность тестировать операции (запускать их несколько раз, не помечая их).
Если вы хотите узнать больше об этом пакете, вы можете проверить исходный код и документы readme на GitHub