<?php 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 { Schema::create('account_supplier', function (Blueprint $table) { $table->timestamps(); $table->integer('supplier_id')->unsigned(); $table->integer('account_id')->unsigned(); $table->string('supplier_ref'); $table->boolean('active')->default(FALSE); $table->unique(['account_id','supplier_id']); $table->unique(['supplier_id','supplier_ref']); $table->foreign('account_id')->references('id')->on('accounts'); $table->foreign('supplier_id')->references('id')->on('suppliers'); }); foreach (DB::table('supplier_user')->cursor() as $o) { $ao = \App\Models\Account::where('user_id',$o->user_id)->firstOrfail(); DB::table('account_supplier') ->insert([ 'created_at' => $o->created_at, 'updated_at' => $o->updated_at, 'supplier_id' => $o->supplier_id, 'account_id' => $ao->id, 'supplier_ref' => $o->supplier_ref, 'active' => $o->active, ]); } Schema::drop('supplier_user'); } /** * Reverse the migrations. */ public function down(): void { abort(500,'Cant go back'); } };