|
| 1 | +<?php |
| 2 | + |
| 3 | +namespace Database\Seeders; |
| 4 | + |
| 5 | +use Illuminate\Database\Seeder; |
| 6 | +use App\Models\Country; |
| 7 | + |
| 8 | +class CountrySeeder extends Seeder |
| 9 | +{ |
| 10 | + public function run(): void |
| 11 | + { |
| 12 | + $countries = [ |
| 13 | + ['AF','Afghanistan'], ['AL','Albania'], ['DZ','Algeria'], ['AD','Andorra'], ['AO','Angola'], |
| 14 | + ['AG','Antigua and Barbuda'], ['AR','Argentina'], ['AM','Armenia'], ['AU','Australia'], ['AT','Austria'], |
| 15 | + ['AZ','Azerbaijan'], ['BS','Bahamas'], ['BH','Bahrain'], ['BD','Bangladesh'], ['BB','Barbados'], |
| 16 | + ['BY','Belarus'], ['BE','Belgium'], ['BZ','Belize'], ['BJ','Benin'], ['BT','Bhutan'], |
| 17 | + ['BO','Bolivia'], ['BA','Bosnia and Herzegovina'], ['BW','Botswana'], ['BR','Brazil'], ['BN','Brunei Darussalam'], |
| 18 | + ['BG','Bulgaria'], ['BF','Burkina Faso'], ['BI','Burundi'], ['CV','Cabo Verde'], ['KH','Cambodia'], |
| 19 | + ['CM','Cameroon'], ['CA','Canada'], ['CF','Central African Republic'], ['TD','Chad'], ['CL','Chile'], |
| 20 | + ['CN','China'], ['CO','Colombia'], ['KM','Comoros'], ['CG','Congo'], ['CD','Congo, Democratic Republic of the'], |
| 21 | + ['CR','Costa Rica'], ['CI',"Cote d'Ivoire"], ['HR','Croatia'], ['CU','Cuba'], ['CY','Cyprus'], |
| 22 | + ['CZ','Czechia'], ['DK','Denmark'], ['DJ','Djibouti'], ['DM','Dominica'], ['DO','Dominican Republic'], |
| 23 | + ['EC','Ecuador'], ['EG','Egypt'], ['SV','El Salvador'], ['GQ','Equatorial Guinea'], ['ER','Eritrea'], |
| 24 | + ['EE','Estonia'], ['SZ','Eswatini'], ['ET','Ethiopia'], ['FJ','Fiji'], ['FI','Finland'], |
| 25 | + ['FR','France'], ['GA','Gabon'], ['GM','Gambia'], ['GE','Georgia'], ['DE','Germany'], |
| 26 | + ['GH','Ghana'], ['GR','Greece'], ['GD','Grenada'], ['GT','Guatemala'], ['GN','Guinea'], |
| 27 | + ['GW','Guinea-Bissau'], ['GY','Guyana'], ['HT','Haiti'], ['HN','Honduras'], ['HU','Hungary'], |
| 28 | + ['IS','Iceland'], ['IN','India'], ['ID','Indonesia'], ['IR','Iran'], ['IQ','Iraq'], |
| 29 | + ['IE','Ireland'], ['IL','Israel'], ['IT','Italy'], ['JM','Jamaica'], ['JP','Japan'], |
| 30 | + ['JO','Jordan'], ['KZ','Kazakhstan'], ['KE','Kenya'], ['KI','Kiribati'], ['KP',"Korea, Democratic People's Republic of"], |
| 31 | + ['KR','Korea, Republic of'], ['KW','Kuwait'], ['KG','Kyrgyzstan'], ['LA',"Lao People's Democratic Republic"], ['LV','Latvia'], |
| 32 | + ['LB','Lebanon'], ['LS','Lesotho'], ['LR','Liberia'], ['LY','Libya'], ['LI','Liechtenstein'], |
| 33 | + ['LT','Lithuania'], ['LU','Luxembourg'], ['MG','Madagascar'], ['MW','Malawi'], ['MY','Malaysia'], |
| 34 | + ['MV','Maldives'], ['ML','Mali'], ['MT','Malta'], ['MH','Marshall Islands'], ['MR','Mauritania'], |
| 35 | + ['MU','Mauritius'], ['MX','Mexico'], ['FM','Micronesia, Federated States of'], ['MD','Moldova'], ['MC','Monaco'], |
| 36 | + ['MN','Mongolia'], ['ME','Montenegro'], ['MA','Morocco'], ['MZ','Mozambique'], ['MM','Myanmar'], |
| 37 | + ['NA','Namibia'], ['NR','Nauru'], ['NP','Nepal'], ['NL','Netherlands'], ['NZ','New Zealand'], |
| 38 | + ['NI','Nicaragua'], ['NE','Niger'], ['NG','Nigeria'], ['MK','North Macedonia'], ['NO','Norway'], |
| 39 | + ['OM','Oman'], ['PK','Pakistan'], ['PW','Palau'], ['PA','Panama'], ['PG','Papua New Guinea'], |
| 40 | + ['PY','Paraguay'], ['PE','Peru'], ['PH','Philippines'], ['PL','Poland'], ['PT','Portugal'], |
| 41 | + ['QA','Qatar'], ['RO','Romania'], ['RU','Russian Federation'], ['RW','Rwanda'], ['KN','Saint Kitts and Nevis'], |
| 42 | + ['LC','Saint Lucia'], ['VC','Saint Vincent and the Grenadines'], ['WS','Samoa'], ['SM','San Marino'], ['ST','Sao Tome and Principe'], |
| 43 | + ['SA','Saudi Arabia'], ['SN','Senegal'], ['RS','Serbia'], ['SC','Seychelles'], ['SL','Sierra Leone'], |
| 44 | + ['SG','Singapore'], ['SK','Slovakia'], ['SI','Slovenia'], ['SB','Solomon Islands'], ['SO','Somalia'], |
| 45 | + ['ZA','South Africa'], ['SS','South Sudan'], ['ES','Spain'], ['LK','Sri Lanka'], ['SD','Sudan'], |
| 46 | + ['SR','Suriname'], ['SE','Sweden'], ['CH','Switzerland'], ['SY','Syrian Arab Republic'], ['TJ','Tajikistan'], |
| 47 | + ['TH','Thailand'], ['TL','Timor-Leste'], ['TG','Togo'], ['TO','Tonga'], ['TT','Trinidad and Tobago'], |
| 48 | + ['TN','Tunisia'], ['TR','Türkiye'], ['TM','Turkmenistan'], ['TV','Tuvalu'], ['UG','Uganda'], |
| 49 | + ['UA','Ukraine'], ['AE','United Arab Emirates'], ['GB','United Kingdom of Great Britain and Northern Ireland'], |
| 50 | + ['TZ','Tanzania, United Republic of'], ['US','United States of America'], ['UY','Uruguay'], ['UZ','Uzbekistan'], |
| 51 | + ['VU','Vanuatu'], ['VE','Venezuela'], ['VN','Viet Nam'], ['YE','Yemen'], ['ZM','Zambia'], ['ZW','Zimbabwe'], |
| 52 | + ['VA','Holy See'], ['PS','State of Palestine'], |
| 53 | + ]; |
| 54 | + |
| 55 | + $regions = [ |
| 56 | + 'Africa' => [ |
| 57 | + 'DZ','AO','BJ','BF','BI','CV','CM','CF','TD','KM','CG','CD','CI','DJ','EG','GQ','ER','SZ','ET','GA','GM','GH','GN','GW', |
| 58 | + 'KE','LS','LR','LY','MG','MW','ML','MR','MU','MA','MZ','NA','NE','NG','RW','ST','SN','SC','SL','SO','ZA','SS','SD','TZ','TG','TN','UG','ZM','ZW', |
| 59 | + ], |
| 60 | + 'Americas' => [ |
| 61 | + 'AG','AR','BS','BB','BZ','BO','BR','CA','CL','CO','CR','CU','DM','DO','EC','SV','GD','GT','GY','HT','HN','JM','KN','LC','VC','MX','NI','PA','PE','PY','SR','TT','US','UY','VE', |
| 62 | + ], |
| 63 | + 'Asia' => [ |
| 64 | + 'AF','AM','AZ','BH','BD','BT','BN','KH','CN','CY','GE','IN','ID','IR','IQ','IL','JO','JP','KZ','KW','KG','LA','LB','MY','MV','MN','MM','NP','KP','KR','OM','PK','PS','PH','QA','SA','SG','LK','SY','TJ','TH','TL','TM','TR','AE','UZ','VN','YE', |
| 65 | + ], |
| 66 | + 'Europe' => [ |
| 67 | + 'AD','AL','AT','BY','BE','BA','BG','HR','CZ','DK','EE','FI','FR','DE','GR','HU','IS','IE','IT','LV','LI','LT','LU','MT','MD','MC','ME','NL','MK','NO','PL','PT','RO','RU','SM','RS','SK','SI','ES','SE','CH','UA','GB','VA', |
| 68 | + ], |
| 69 | + 'Oceania' => [ |
| 70 | + 'AU','FJ','KI','MH','FM','NR','NZ','PW','PG','WS','SB','TO','TV','VU', |
| 71 | + ], |
| 72 | + ]; |
| 73 | + |
| 74 | + $nameJp = [ |
| 75 | + 'JP'=>'日本','CN'=>'中国','KR'=>'大韓民国','KP'=>'朝鮮民主主義人民共和国','TW'=> '台湾', |
| 76 | + 'SG'=>'シンガポール','MY'=>'マレーシア','TH'=>'タイ','VN'=>'ベトナム','PH'=>'フィリピン','ID'=>'インドネシア', |
| 77 | + 'LA'=>'ラオス','KH'=>'カンボジア','MM'=>'ミャンマー','LK'=>'スリランカ','IN'=>'インド','BD'=>'バングラデシュ', |
| 78 | + 'IR'=>'イラン','IQ'=>'イラク','IL'=>'イスラエル','JO'=>'ヨルダン','SA'=>'サウジアラビア','AE'=>'アラブ首長国連邦','QA'=>'カタール','KW'=>'クウェート', |
| 79 | + 'TR'=>'トルコ','KZ'=>'カザフスタン','KG'=>'キルギス','TJ'=>'タジキスタン','TM'=>'トルクメニスタン','MN'=>'モンゴル','PK'=>'パキスタン','NP'=>'ネパール','PS'=>'パレスチナ', |
| 80 | + 'AF'=>'アフガニスタン','AZ'=>'アゼルバイジャン','AM'=>'アルメニア','LB'=>'レバノン','OM'=>'オマーン','YE'=>'イエメン','BH'=>'バーレーン','MV'=>'モルディブ', |
| 81 | + 'AL'=>'アルバニア','AT'=>'オーストリア','BE'=>'ベルギー','BA'=>'ボスニア・ヘルツェゴビナ','BG'=>'ブルガリア','HR'=>'クロアチア', |
| 82 | + 'CZ'=>'チェコ','FR'=>'フランス','DE'=>'ドイツ','IT'=>'イタリア','MK'=>'北マケドニア','PL'=>'ポーランド','RO'=>'ルーマニア', |
| 83 | + 'SK'=>'スロバキア','SI'=>'スロベニア','ES'=>'スペイン','CH'=>'スイス','UA'=>'ウクライナ','GB'=>'イギリス','IE'=>'アイルランド', |
| 84 | + 'NL'=>'オランダ','PT'=>'ポルトガル','NO'=>'ノルウェー','SE'=>'スウェーデン','FI'=>'フィンランド','EE'=>'エストニア','LV'=>'ラトビア','LT'=>'リトアニア', |
| 85 | + 'IS'=>'アイスランド','DK'=>'デンマーク','LI'=>'リヒテンシュタイン','LU'=>'ルクセンブルク','MT'=>'マルタ','MC'=>'モナコ','ME'=>'モンテネグロ','SM'=>'サンマリノ','VA'=>'バチカン','RU'=>'ロシア連邦','GE'=>'ジョージア','CY'=>'キプロス', |
| 86 | + 'BY'=>'ベラルーシ','GR'=>'ギリシャ','RS'=>'セルビア', |
| 87 | + 'EG'=>'エジプト','MA'=>'モロッコ','TN'=>'チュニジア','DZ'=>'アルジェリア','ZA'=>'南アフリカ共和国','ET'=>'エチオピア','KE'=>'ケニア','NG'=>'ナイジェリア','GH'=>'ガーナ','SN'=>'セネガル','TZ'=>'タンザニア','UG'=>'ウガンダ','RW'=>'ルワンダ','ZM'=>'ザンビア','ZW'=>'ジンバブエ','CM'=>'カメルーン','CI'=>'コートジボワール','GA'=>'ガボン','GM'=>'ガンビア','GN'=>'ギニア','GW'=>'ギニアビサウ','BI'=>'ブルンジ','BF'=>'ブルキナファソ','BJ'=>'ベナン','CV'=>'カーボベルデ','KM'=>'コモロ','CG'=>'コンゴ共和国','CD'=>'コンゴ民主共和国','DJ'=>'ジブチ','ER'=>'エリトリア','GQ'=>'赤道ギニア','LY'=>'リビア','LR'=>'リベリア','LS'=>'レソト','MG'=>'マダガスカル','MW'=>'マラウイ','ML'=>'マリ','MR'=>'モーリタニア','MU'=>'モーリシャス','MZ'=>'モザンビーク','NA'=>'ナミビア','NE'=>'ニジェール','SC'=>'セーシェル','SL'=>'シエラレオネ','SO'=>'ソマリア','SS'=>'南スーダン','SD'=>'スーダン','TG'=>'トーゴ', |
| 88 | + 'US'=>'アメリカ合衆国','CA'=>'カナダ','MX'=>'メキシコ','AR'=>'アルゼンチン','BR'=>'ブラジル','CL'=>'チリ','CO'=>'コロンビア','PE'=>'ペルー','BO'=>'ボリビア','PY'=>'パラグアイ','UY'=>'ウルグアイ','VE'=>'ベネズエラ','EC'=>'エクアドル','CR'=>'コスタリカ','PA'=>'パナマ','CU'=>'キューバ','DO'=>'ドミニカ共和国','DM'=>'ドミニカ国','HT'=>'ハイチ','HN'=>'ホンジュラス','NI'=>'ニカラグア','SV'=>'エルサルバドル','GT'=>'グアテマラ','GY'=>'ガイアナ','SR'=>'スリナム','BS'=>'バハマ','BB'=>'バルバドス','BZ'=>'ベリーズ','GD'=>'グレナダ','JM'=>'ジャマイカ','KN'=>'セントクリストファー・ネーヴィス','LC'=>'セントルシア','VC'=>'セントビンセントおよびグレナディーン諸島','TT'=>'トリニダード・トバゴ', |
| 89 | + 'AU'=>'オーストラリア','NZ'=>'ニュージーランド','PG'=>'パプアニューギニア','FJ'=>'フィジー','WS'=>'サモア','SB'=>'ソロモン諸島','TO'=>'トンガ','TV'=>'ツバル','VU'=>'バヌアツ','FM'=>'ミクロネシア連邦','MH'=>'マーシャル諸島','PW'=>'パラオ','KI'=>'キリバス','NR'=>'ナウル', |
| 90 | + ]; |
| 91 | + |
| 92 | + $regionByCode = []; |
| 93 | + foreach ($regions as $regionName => $codes) { |
| 94 | + foreach ($codes as $code) { |
| 95 | + $regionByCode[$code] = $regionName; |
| 96 | + } |
| 97 | + } |
| 98 | + |
| 99 | + $rows = array_map(function ($c) use ($regionByCode, $nameJp) { |
| 100 | + $code = $c[0]; |
| 101 | + return [ |
| 102 | + 'state_party_code' => $code, |
| 103 | + 'name_en' => $c[1], |
| 104 | + 'name_jp' => $nameJp[$code] ?? null, |
| 105 | + 'region' => $regionByCode[$code] ?? null, |
| 106 | + ]; |
| 107 | + }, $countries); |
| 108 | + |
| 109 | + Country::query()->upsert( |
| 110 | + $rows, |
| 111 | + ['state_party_code'], |
| 112 | + ['name_en','name_jp','region'] |
| 113 | + ); |
| 114 | + } |
| 115 | +} |
0 commit comments