HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/laravel/database/migrations/2025_06_10_163550_add_notam_start_end_dates.php
<?php

use App\Models\Notam;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration {

    /**
     * Run the migrations.
     */
    public function up(): void
    {
        ini_set('max_execution_time', -1);
        Schema::table('notams', function (Blueprint $table) {
            $table->dateTime('start_date')->nullable()->after('created_at');
            $table->dateTime('end_date')->nullable()->after('start_date');
        });

        $notams = Notam::query()->orderBy('id','asc')->paginate(100, ['*'], 'page', 1);

        while ($notams->isNotEmpty()) {
            foreach ($notams as $notam) {
                $notam->updateDates();
            }
            $notams = Notam::query()->orderBy('id', 'asc')->paginate(100, ['*'], 'page', $notams->currentPage() + 1, );
        }
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        Schema::table('notams', function (Blueprint $table) {
            $table->dropColumn(['start_date', 'end_date']);
        });
    }
};