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_09_02_151515_create_flags_table.php
<?php

use App\Models\Flag;
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()
    {
        if (!Schema::hasTable('flags')) {
            Schema::create('flags', function (Blueprint $table) {
                $table->id();
                $table->string('capital')->nullable();
                $table->string('code')->nullable();
                $table->string('continent')->nullable();
                $table->string('name')->nullable();
            });


            $url = public_path('country.json');
            $responses = file_get_contents($url);
            $responses = json_decode($responses);

            $values = [];

            foreach ($responses as $response) {

                $data = get_object_vars($response);

                $values[] = [
                    'capital' => $data['capital'] ?? '',
                    'code' => $data['code'],
                    'continent' => $data['continent'] ?? '',
                    'name' => $data['name'],
                ];

            }

            Flag::insert($values);
        }
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('flags');
    }

};