HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/work.naniguide.com/database/migrations/2022_10_31_130459_order_with_order_number.php
<?php

use App\Models\Company;
use App\Models\Order;
use App\Models\Ticket;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration {

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('orders', function (Blueprint $table) {
            $table->bigInteger('order_number')->after('id')->nullable();
        });

        Schema::table('tickets', function (Blueprint $table) {
            $table->bigInteger('ticket_number')->after('id')->nullable();
        });

        $companies = Company::select('id')->get();

        foreach ($companies as $company) {

            $orders = Order::where('company_id', $company->id)->get();

            foreach ($orders as $key => $order) {
                $order->order_number = $key + 1;
                $order->saveQuietly();
            }

            $tickets = Ticket::where('company_id', $company->id)->get();

            foreach ($tickets as $key => $ticket) {
                $ticket->ticket_number = $key + 1;
                $ticket->saveQuietly();
            }
        }

        Schema::table('invoices', function (Blueprint $table) {
            $table->bigInteger('invoice_number')->change();
        });

        Schema::table('estimates', function (Blueprint $table) {
            $table->bigInteger('estimate_number')->change();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        //
    }

};