Ви можете використовувати пакет One Time Operations для Laravel для запуску коду, який повинен запускатися лише один раз після розгортання. За допомогою цього пакета можна створювати класи операцій, які можуть виконуватися автоматично за допомогою наданої команди Artisan. Подібно до міграцій, вони обробляються лише один раз, а потім більше ніколи не запускаються.
Коли ви генеруєте класи за допомогою команди цього пакетаoperations:make
, вони використовують анонімні класи, що розширюють клас:
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
{
//
}
};
Використовуючи цей пакет, ви можете оновити певні дані після розгортання нового коду, початкових даних після міграції або запустити будь-який тип коду, який вам потрібно виконати лише один раз у тандемі OneTimeOperation
з розгортанням. Цей пакет також надає можливість тестувати операції (запускати їх кілька разів, не позначаючи їх).
Якщо ви хочете дізнатися більше про цей пакет, ви можете ознайомитися з вихідним кодом і документами readme на GitHub