English →

Oliver Servín

Auto-resetear semanalmente una app demo en Laravel

Trabajé en un proyecto donde necesitaba presentar una demo pública del trabajo en progreso pero necesitaba resetear el demo después de una semana al re-establecer la base de datos a su estado original.

Mi solución fue simplemente una scheduled task en el método schedule de la clase App\Console\Kernel.

1namespace App\Console;
2 
3use Illuminate\Console\Scheduling\Schedule;
4use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
5 
6class Kernel extends ConsoleKernel
7{
8 /**
9 * The Artisan commands provided by your application.
10 *
11 * @var array
12 */
13 protected $commands = [
14 //
15 ];
16 
17 /**
18 * Define the application's command schedule.
19 *
20 * @param \Illuminate\Console\Scheduling\Schedule $schedule
21 * @return void
22 */
23 protected function schedule(Schedule $schedule)
24 {
25 $schedule->command('migrate:fresh --force --seed')->weekly();
26 }
27 
28 /**
29 * Register the commands for the application.
30 *
31 * @return void
32 */
33 protected function commands()
34 {
35 $this->load(__DIR__.'/Commands');
36 
37 require base_path('routes/console.php');
38 }
39}

Las opciones de frecuencia están bien documentadas en Laravel docs. Puedes cambiar la frecuencia a diario o cada hora si lo prefieres.


Cómo mantener en sincronía los detalles de cliente con Stripe en Laravel


Gestionar el consentimiento de marketing de Paddle con Laravel


Personalizar el diseño del botón de pago en Laravel Cashier Paddle


Incrustar el widget de pago de Paddle con Laravel Cashier


Auto-resetear semanalmente una app demo en Laravel


Eliminar la tabla personal_access_tokens de una App en Laravel


Probando Google Ads con RadioCúbito(Design)