<?php

namespace Database\Seeders;

use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use App\Models\Country;

class CountriesSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public $countries = [
        'Australia',
        'Austria',
        'Azerbaiyán',
        'Anguilla',
        'Argentina',
        'Armenia',
        'Bielorrusia',
        'Belice',
        'Bélgica',
        'Bermudas',
        'Bulgaria',
        'Brasil',
        'Reino Unido',
        'Hungría',
        'Vietnam',
        'Haiti',
        'Guadalupe',
        'Alemania',
        'Países Bajos, Holanda',
        'Grecia',
        'Georgia',
        'Dinamarca',
        'Egipto',
        'Israel',
        'India',
        'Irán',
        'Irlanda',
        'España',
        'Italia',
        'Kazajstán',
        'Camerún',
        'Canadá',
        'Chipre',
        'Kirguistán',
        'China',
        'Costa Rica',
        'Kuwait',
        'Letonia',
        'Libia',
        'Lituania',
        'Luxemburgo',
        'México',
        'Moldavia',
        'Mónaco',
        'Nueva Zelanda',
        'Noruega',
        'Polonia',
        'Portugal',
        'Reunión',
        'Rusia',
        'El Salvador',
        'Eslovaquia',
        'Eslovenia',
        'Surinam',
        'Estados Unidos',
        'Tadjikistan',
        'Turkmenistan',
        'Islas Turcas y Caicos',
        'Turquía',
        'Uganda',
        'Uzbekistán',
        'Ucrania',
        'Finlandia',
        'Francia',
        'República Checa',
        'Suiza',
        'Suecia',
        'Estonia',
        'Corea del Sur',
        'Japón',
        'Croacia',
        'Rumanía',
        'Hong Kong',
        'Indonesia',
        'Jordania',
        'Malasia',
        'Singapur',
        'Taiwan',
        'Bosnia y Herzegovina',
        'Bahamas',
        'Chile',
        'Colombia',
        'Islandia',
        'Corea del Norte',
        'Macedonia',
        'Malta',
        'Pakistán',
        'Papúa-Nueva Guinea',
        'Perú',
        'Filipinas',
        'Arabia Saudita',
        'Tailandia',
        'Emiratos árabes Unidos',
        'Groenlandia',
        'Venezuela',
        'Zimbabwe',
        'Kenia',
        'Algeria',
        'Líbano',
        'Botsuana',
        'Tanzania',
        'Namibia',
        'Ecuador',
        'Marruecos',
        'Ghana',
        'Siria',
        'Nepal',
        'Mauritania',
        'Seychelles',
        'Paraguay',
        'Uruguay',
        'Congo Brazzaville',
        'Cuba',
        'Albania',
        'Nigeria',
        'Zambia',
        'Mozambique',
        'Angola',
        'Sri Lanka',
        'Etiopía',
        'Túnez',
        'Bolivia',
        'Panamá',
        'Malawi',
        'Liechtenstein',
        'Bahrein',
        'Barbados',
        'Chad',
        'Man, Isla de',
        'Jamaica',
        'Malí',
        'Madagascar',
        'Senegal',
        'Togo',
        'Honduras',
        'República Dominicana',
        'Mongolia',
        'Irak',
        'Sudáfrica',
        'Aruba',
        'Gibraltar',
        'Afganistán',
        'Andorra',
        'Antigua y Barbuda',
        'Bangladesh',
        'Benín',
        'Bután',
        'Islas Virgenes Británicas',
        'Brunéi',
        'Burkina Faso',
        'Burundi',
        'Camboya',
        'Cabo Verde',
        'Comores',
        'Congo Kinshasa',
        'Cook, Islas',
        'Costa de Marfil',
        'Djibouti, Yibuti',
        'Timor Oriental',
        'Guinea Ecuatorial',
        'Eritrea',
        'Feroe, Islas',
        'Fiyi',
        'Polinesia Francesa',
        'Gabón',
        'Gambia',
        'Granada',
        'Guatemala',
        'Guernsey',
        'Guinea',
        'Guinea-Bissau',
        'Guyana',
        'Jersey',
        'Kiribati',
        'Laos',
        'Lesotho',
        'Liberia',
        'Maldivas',
        'Martinica',
        'Mauricio',
        'Myanmar',
        'Nauru',
        'Antillas Holandesas',
        'Nueva Caledonia',
        'Nicaragua',
        'Níger',
        'Norfolk Island',
        'Omán',
        'Isla Pitcairn',
        'Qatar',
        'Ruanda',
        'Santa Elena',
        'San Cristobal y Nevis',
        'Santa Lucía',
        'San Pedro y Miquelón',
        'San Vincente y Granadinas',
        'Samoa',
        'San Marino',
        'San Tomé y Príncipe',
        'Serbia y Montenegro',
        'Sierra Leona',
        'Islas Salomón',
        'Somalia',
        'Sudán',
        'Swazilandia',
        'Tokelau',
        'Tonga',
        'Trinidad y Tobago',
        'Tuvalu',
        'Vanuatu',
        'Wallis y Futuna',
        'Sáhara Occidental',
        'Yemen',
        'Puerto Rico'
    ];


    public function run(): void
    {
        try {
            DB::beginTransaction();

            foreach ($this->countries as $value) {
                $addCountry = new Country;
                $addCountry->name = $value;
                $addCountry->save();
            }

            DB::commit();
        } catch (Exception $th) {
            DB::rollBack();
            dd($th);
        }
    }
}
