migrations/Version20220328090615.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. use RuntimeException;
  7. final class Version20220328090615 extends AbstractMigration
  8. {
  9.     private const TABLE_COUNTRY 'country';
  10.     private const TABLE_COUNTRY_PHONE_CODE 'country_phone_code';
  11.     private const COUNTRIES = [
  12.         'af' => [
  13.             'name' => 'Afghanistan',
  14.             'code' => ['93'],
  15.         ],
  16.         'al' => [
  17.             'name' => 'Albania',
  18.             'code' => ['355'],
  19.         ],
  20.         'dz' => [
  21.             'name' => 'Algeria',
  22.             'code' => ['213'],
  23.         ],
  24.         'as' => [
  25.             'name' => 'American Samoa',
  26.             'code' => ['1684'],
  27.         ],
  28.         'ad' => [
  29.             'name' => 'Andorra',
  30.             'code' => ['376'],
  31.         ],
  32.         'ao' => [
  33.             'name' => 'Angola',
  34.             'code' => ['244'],
  35.         ],
  36.         'ai' => [
  37.             'name' => 'Anguilla',
  38.             'code' => ['1264'],
  39.         ],
  40.         'aq' => [
  41.             'name' => 'Antarctica',
  42.             'code' => ['672'],
  43.         ],
  44.         'ag' => [
  45.             'name' => 'Antigua and Barbuda',
  46.             'code' => ['1268'],
  47.         ],
  48.         'ar' => [
  49.             'name' => 'Argentina',
  50.             'code' => ['54'],
  51.         ],
  52.         'am' => [
  53.             'name' => 'Armenia',
  54.             'code' => ['374'],
  55.         ],
  56.         'aw' => [
  57.             'name' => 'Aruba',
  58.             'code' => ['297'],
  59.         ],
  60.         'au' => [
  61.             'name' => 'Australia',
  62.             'code' => ['61'],
  63.         ],
  64.         'sh' => [
  65.             'name' => 'Ascension',
  66.             'code' => ['247'],
  67.         ],
  68.         'at' => [
  69.             'name' => 'Austria',
  70.             'code' => ['43'],
  71.         ],
  72.         'az' => [
  73.             'name' => 'Azerbaijan',
  74.             'code' => ['994'],
  75.         ],
  76.         'bs' => [
  77.             'name' => 'Bahamas',
  78.             'code' => ['1242'],
  79.         ],
  80.         'bh' => [
  81.             'name' => 'Bahrain',
  82.             'code' => ['973'],
  83.         ],
  84.         'bd' => [
  85.             'name' => 'Bangladesh',
  86.             'code' => ['880'],
  87.         ],
  88.         'bb' => [
  89.             'name' => 'Barbados',
  90.             'code' => ['1246'],
  91.         ],
  92.         'by' => [
  93.             'name' => 'Belarus',
  94.             'code' => ['375'],
  95.         ],
  96.         'be' => [
  97.             'name' => 'Belgium',
  98.             'code' => ['32'],
  99.         ],
  100.         'bz' => [
  101.             'name' => 'Belize',
  102.             'code' => ['501'],
  103.         ],
  104.         'bj' => [
  105.             'name' => 'Benin',
  106.             'code' => ['229'],
  107.         ],
  108.         'bm' => [
  109.             'name' => 'Bermuda',
  110.             'code' => ['1441'],
  111.         ],
  112.         'bt' => [
  113.             'name' => 'Bhutan',
  114.             'code' => ['975'],
  115.         ],
  116.         'bo' => [
  117.             'name' => 'Bolivia',
  118.             'code' => ['591'],
  119.         ],
  120.         'ba' => [
  121.             'name' => 'Bosnia and Herzegovina',
  122.             'code' => ['387'],
  123.         ],
  124.         'bw' => [
  125.             'name' => 'Botswana',
  126.             'code' => ['267'],
  127.         ],
  128.         'br' => [
  129.             'name' => 'Brazil',
  130.             'code' => ['55'],
  131.         ],
  132.         'bn' => [
  133.             'name' => 'Brunei Darussalam',
  134.             'code' => ['673'],
  135.         ],
  136.         'bg' => [
  137.             'name' => 'Bulgaria',
  138.             'code' => ['359'],
  139.         ],
  140.         'bf' => [
  141.             'name' => 'Burkina Faso',
  142.             'code' => ['226'],
  143.         ],
  144.         'bi' => [
  145.             'name' => 'Burundi',
  146.             'code' => ['257'],
  147.         ],
  148.         'kh' => [
  149.             'name' => 'Cambodia',
  150.             'code' => ['855'],
  151.         ],
  152.         'cm' => [
  153.             'name' => 'Cameroon',
  154.             'code' => ['237'],
  155.         ],
  156.         'ca' => [
  157.             'name' => 'Canada',
  158.             'code' => ['1'],
  159.         ],
  160.         'cv' => [
  161.             'name' => 'Cape Verde',
  162.             'code' => ['238'],
  163.         ],
  164.         'ky' => [
  165.             'name' => 'Cayman Islands',
  166.             'code' => ['1345'],
  167.         ],
  168.         'cf' => [
  169.             'name' => 'Central African Republic',
  170.             'code' => ['236'],
  171.         ],
  172.         'td' => [
  173.             'name' => 'Chad',
  174.             'code' => ['235'],
  175.         ],
  176.         'cl' => [
  177.             'name' => 'Chile',
  178.             'code' => ['56'],
  179.         ],
  180.         'cn' => [
  181.             'name' => 'China',
  182.             'code' => ['86'],
  183.         ],
  184.         'cx' => [
  185.             'name' => 'Christmas Island',
  186.             'code' => ['618'],
  187.         ],
  188.         'cc' => [
  189.             'name' => 'Cocos-Keeling Islands',
  190.             'code' => ['61'],
  191.         ],
  192.         'co' => [
  193.             'name' => 'Colombia',
  194.             'code' => ['57'],
  195.         ],
  196.         'km' => [
  197.             'name' => 'Comoros',
  198.             'code' => ['269'],
  199.         ],
  200.         'cg' => [
  201.             'name' => 'Congo',
  202.             'code' => ['242'],
  203.         ],
  204.         'cd' => [
  205.             'name' => 'Congo, Dem. Rep. of (former Zaire)',
  206.             'code' => ['243'],
  207.         ],
  208.         'ck' => [
  209.             'name' => 'Cook Islands',
  210.             'code' => ['682'],
  211.         ],
  212.         'cr' => [
  213.             'name' => 'Costa Rica',
  214.             'code' => ['506'],
  215.         ],
  216.         'ci' => [
  217.             'name' => 'Côte d\\\'Ivoire',
  218.             'code' => ['225'],
  219.         ],
  220.         'hr' => [
  221.             'name' => 'Croatia',
  222.             'code' => ['385'],
  223.         ],
  224.         'cu' => [
  225.             'name' => 'Cuba',
  226.             'code' => ['53'],
  227.         ],
  228.         'cw' => [
  229.             'name' => 'Curaçao',
  230.             'code' => ['599'],
  231.         ],
  232.         'cy' => [
  233.             'name' => 'Cyprus',
  234.             'code' => ['357'],
  235.         ],
  236.         'cz' => [
  237.             'name' => 'Czech Republic',
  238.             'code' => ['420'],
  239.         ],
  240.         'dk' => [
  241.             'name' => 'Denmark',
  242.             'code' => ['45'],
  243.         ],
  244.         'dj' => [
  245.             'name' => 'Djibouti',
  246.             'code' => ['253'],
  247.         ],
  248.         'dm' => [
  249.             'name' => 'Dominica',
  250.             'code' => ['1767'],
  251.         ],
  252.         'do' => [
  253.             'name' => 'Dominican Republic',
  254.             'code' => ['1809''1829'],
  255.         ],
  256.         'ec' => [
  257.             'name' => 'Ecuador',
  258.             'code' => ['593'],
  259.         ],
  260.         'eg' => [
  261.             'name' => 'Egypt',
  262.             'code' => ['20'],
  263.         ],
  264.         'sv' => [
  265.             'name' => 'El Salvador',
  266.             'code' => ['503'],
  267.         ],
  268.         'gq' => [
  269.             'name' => 'Equatorial Guinea',
  270.             'code' => ['240'],
  271.         ],
  272.         'er' => [
  273.             'name' => 'Eritrea',
  274.             'code' => ['291'],
  275.         ],
  276.         'ee' => [
  277.             'name' => 'Estonia',
  278.             'code' => ['372'],
  279.         ],
  280.         'et' => [
  281.             'name' => 'Ethiopia',
  282.             'code' => ['251'],
  283.         ],
  284.         'fk' => [
  285.             'name' => 'Falkland Islands',
  286.             'code' => ['500'],
  287.         ],
  288.         'fo' => [
  289.             'name' => 'Faroe Islands',
  290.             'code' => ['298'],
  291.         ],
  292.         'fj' => [
  293.             'name' => 'Fiji',
  294.             'code' => ['679'],
  295.         ],
  296.         'fi' => [
  297.             'name' => 'Finland',
  298.             'code' => ['358'],
  299.         ],
  300.         'fr' => [
  301.             'name' => 'France',
  302.             'code' => ['33'],
  303.         ],
  304.         'gf' => [
  305.             'name' => 'French Guiana',
  306.             'code' => ['594'],
  307.         ],
  308.         'pf' => [
  309.             'name' => 'French Polynesia',
  310.             'code' => ['689'],
  311.         ],
  312.         'tf' => [
  313.             'name' => 'French Southern Territories',
  314.             'code' => ['596'],
  315.         ],
  316.         'ga' => [
  317.             'name' => 'Gabon',
  318.             'code' => ['241'],
  319.         ],
  320.         'gm' => [
  321.             'name' => 'Gambia',
  322.             'code' => ['220'],
  323.         ],
  324.         'ge' => [
  325.             'name' => 'Georgia',
  326.             'code' => ['995'],
  327.         ],
  328.         'de' => [
  329.             'name' => 'Germany',
  330.             'code' => ['49'],
  331.         ],
  332.         'gh' => [
  333.             'name' => 'Ghana',
  334.             'code' => ['233'],
  335.         ],
  336.         'gi' => [
  337.             'name' => 'Gibraltar',
  338.             'code' => ['350'],
  339.         ],
  340.         'gr' => [
  341.             'name' => 'Greece',
  342.             'code' => ['30'],
  343.         ],
  344.         'gl' => [
  345.             'name' => 'Greenland',
  346.             'code' => ['299'],
  347.         ],
  348.         'gd' => [
  349.             'name' => 'Grenada',
  350.             'code' => ['1473'],
  351.         ],
  352.         'gp' => [
  353.             'name' => 'Guadeloupe',
  354.             'code' => ['590'],
  355.         ],
  356.         'gu' => [
  357.             'name' => 'Guam',
  358.             'code' => ['1671'],
  359.         ],
  360.         'gt' => [
  361.             'name' => 'Guatemala',
  362.             'code' => ['502'],
  363.         ],
  364.         'gn' => [
  365.             'name' => 'Guinea',
  366.             'code' => ['224'],
  367.         ],
  368.         'gw' => [
  369.             'name' => 'Guinea-Bissau',
  370.             'code' => ['245'],
  371.         ],
  372.         'gy' => [
  373.             'name' => 'Guyana',
  374.             'code' => ['592'],
  375.         ],
  376.         'ht' => [
  377.             'name' => 'Haiti',
  378.             'code' => ['509'],
  379.         ],
  380.         'hn' => [
  381.             'name' => 'Honduras',
  382.             'code' => ['504'],
  383.         ],
  384.         'hk' => [
  385.             'name' => 'Hong Kong',
  386.             'code' => ['852'],
  387.         ],
  388.         'hu' => [
  389.             'name' => 'Hungary',
  390.             'code' => ['36'],
  391.         ],
  392.         'is' => [
  393.             'name' => 'Iceland',
  394.             'code' => ['354'],
  395.         ],
  396.         'in' => [
  397.             'name' => 'India',
  398.             'code' => ['91'],
  399.         ],
  400.         'id' => [
  401.             'name' => 'Indonesia',
  402.             'code' => ['62'],
  403.         ],
  404.         'ir' => [
  405.             'name' => 'Iran',
  406.             'code' => ['98'],
  407.         ],
  408.         'iq' => [
  409.             'name' => 'Iraq',
  410.             'code' => ['964'],
  411.         ],
  412.         'ie' => [
  413.             'name' => 'Ireland',
  414.             'code' => ['353'],
  415.         ],
  416.         'il' => [
  417.             'name' => 'Israel',
  418.             'code' => ['972'],
  419.         ],
  420.         'it' => [
  421.             'name' => 'Italy',
  422.             'code' => ['39'],
  423.         ],
  424.         'jm' => [
  425.             'name' => 'Jamaica',
  426.             'code' => ['1876'],
  427.         ],
  428.         'jp' => [
  429.             'name' => 'Japan',
  430.             'code' => ['81'],
  431.         ],
  432.         'je' => [
  433.             'name' => 'Jersey',
  434.             'code' => ['44'],
  435.         ],
  436.         'jo' => [
  437.             'name' => 'Jordan',
  438.             'code' => ['962'],
  439.         ],
  440.         'kz' => [
  441.             'name' => 'Kazakhstan',
  442.             'code' => ['7'],
  443.         ],
  444.         'ke' => [
  445.             'name' => 'Kenya',
  446.             'code' => ['254'],
  447.         ],
  448.         'ki' => [
  449.             'name' => 'Kiribati',
  450.             'code' => ['686'],
  451.         ],
  452.         'kp' => [
  453.             'name' => 'Korea (North)',
  454.             'code' => ['850'],
  455.         ],
  456.         'kr' => [
  457.             'name' => 'Korea (South)',
  458.             'code' => ['82'],
  459.         ],
  460.         'kw' => [
  461.             'name' => 'Kuwait',
  462.             'code' => ['965'],
  463.         ],
  464.         'kg' => [
  465.             'name' => 'Kyrgyzstan',
  466.             'code' => ['996'],
  467.         ],
  468.         'la' => [
  469.             'name' => 'Laos',
  470.             'code' => ['856'],
  471.         ],
  472.         'lv' => [
  473.             'name' => 'Latvia',
  474.             'code' => ['371'],
  475.         ],
  476.         'lb' => [
  477.             'name' => 'Lebanon',
  478.             'code' => ['961'],
  479.         ],
  480.         'ls' => [
  481.             'name' => 'Lesotho',
  482.             'code' => ['266'],
  483.         ],
  484.         'lr' => [
  485.             'name' => 'Liberia',
  486.             'code' => ['231'],
  487.         ],
  488.         'ly' => [
  489.             'name' => 'Libya',
  490.             'code' => ['218'],
  491.         ],
  492.         'li' => [
  493.             'name' => 'Liechtenstein',
  494.             'code' => ['423'],
  495.         ],
  496.         'lt' => [
  497.             'name' => 'Lithuania',
  498.             'code' => ['370'],
  499.         ],
  500.         'lu' => [
  501.             'name' => 'Luxembourg',
  502.             'code' => ['352'],
  503.         ],
  504.         'mo' => [
  505.             'name' => 'Macao',
  506.             'code' => ['853'],
  507.         ],
  508.         'mk' => [
  509.             'name' => 'Macedonia',
  510.             'code' => ['389'],
  511.         ],
  512.         'mg' => [
  513.             'name' => 'Madagascar',
  514.             'code' => ['261'],
  515.         ],
  516.         'mw' => [
  517.             'name' => 'Malawi',
  518.             'code' => ['265'],
  519.         ],
  520.         'my' => [
  521.             'name' => 'Malaysia',
  522.             'code' => ['60'],
  523.         ],
  524.         'mv' => [
  525.             'name' => 'Maldives',
  526.             'code' => ['960'],
  527.         ],
  528.         'ml' => [
  529.             'name' => 'Mali',
  530.             'code' => ['223'],
  531.         ],
  532.         'mt' => [
  533.             'name' => 'Malta',
  534.             'code' => ['356'],
  535.         ],
  536.         'mh' => [
  537.             'name' => 'Marshall Islands',
  538.             'code' => ['692'],
  539.         ],
  540.         'mq' => [
  541.             'name' => 'Martinique',
  542.             'code' => ['596'],
  543.         ],
  544.         'mr' => [
  545.             'name' => 'Mauritania',
  546.             'code' => ['222'],
  547.         ],
  548.         'mu' => [
  549.             'name' => 'Mauritius',
  550.             'code' => ['230'],
  551.         ],
  552.         'yt' => [
  553.             'name' => 'Mayotte',
  554.             'code' => ['262'],
  555.         ],
  556.         'mx' => [
  557.             'name' => 'Mexico',
  558.             'code' => ['52'],
  559.         ],
  560.         'fm' => [
  561.             'name' => 'Micronesia',
  562.             'code' => ['691'],
  563.         ],
  564.         'md' => [
  565.             'name' => 'Moldova',
  566.             'code' => ['373'],
  567.         ],
  568.         'mc' => [
  569.             'name' => 'Monaco',
  570.             'code' => ['377'],
  571.         ],
  572.         'mn' => [
  573.             'name' => 'Mongolia',
  574.             'code' => ['976'],
  575.         ],
  576.         'me' => [
  577.             'name' => 'Montenegro',
  578.             'code' => ['382'],
  579.         ],
  580.         'ms' => [
  581.             'name' => 'Montserrat',
  582.             'code' => ['1664'],
  583.         ],
  584.         'ma' => [
  585.             'name' => 'Morocco',
  586.             'code' => ['212'],
  587.         ],
  588.         'mz' => [
  589.             'name' => 'Mozambique',
  590.             'code' => ['258'],
  591.         ],
  592.         'mm' => [
  593.             'name' => 'Myanmar',
  594.             'code' => ['95'],
  595.         ],
  596.         'na' => [
  597.             'name' => 'Namibia',
  598.             'code' => ['264'],
  599.         ],
  600.         'nr' => [
  601.             'name' => 'Nauru',
  602.             'code' => ['674'],
  603.         ],
  604.         'np' => [
  605.             'name' => 'Nepal',
  606.             'code' => ['977'],
  607.         ],
  608.         'nl' => [
  609.             'name' => 'Netherlands',
  610.             'code' => ['31'],
  611.         ],
  612.         'nc' => [
  613.             'name' => 'New Caledonia',
  614.             'code' => ['687'],
  615.         ],
  616.         'nz' => [
  617.             'name' => 'New Zealand',
  618.             'code' => ['64'],
  619.         ],
  620.         'ni' => [
  621.             'name' => 'Nicaragua',
  622.             'code' => ['505'],
  623.         ],
  624.         'ne' => [
  625.             'name' => 'Niger',
  626.             'code' => ['227'],
  627.         ],
  628.         'ng' => [
  629.             'name' => 'Nigeria',
  630.             'code' => ['234'],
  631.         ],
  632.         'nu' => [
  633.             'name' => 'Niue',
  634.             'code' => ['683'],
  635.         ],
  636.         'nf' => [
  637.             'name' => 'Norfolk Island',
  638.             'code' => ['672'],
  639.         ],
  640.         'mp' => [
  641.             'name' => 'Northern Mariana Islands',
  642.             'code' => ['1670'],
  643.         ],
  644.         'no' => [
  645.             'name' => 'Norway',
  646.             'code' => ['47'],
  647.         ],
  648.         'om' => [
  649.             'name' => 'Oman',
  650.             'code' => ['968'],
  651.         ],
  652.         'pk' => [
  653.             'name' => 'Pakistan',
  654.             'code' => ['92'],
  655.         ],
  656.         'pw' => [
  657.             'name' => 'Palau',
  658.             'code' => ['680'],
  659.         ],
  660.         'ps' => [
  661.             'name' => 'Palestine',
  662.             'code' => ['970'],
  663.         ],
  664.         'pa' => [
  665.             'name' => 'Panama',
  666.             'code' => ['507'],
  667.         ],
  668.         'pg' => [
  669.             'name' => 'Papua New Guinea',
  670.             'code' => ['675'],
  671.         ],
  672.         'py' => [
  673.             'name' => 'Paraguay',
  674.             'code' => ['595'],
  675.         ],
  676.         'pe' => [
  677.             'name' => 'Peru',
  678.             'code' => ['51'],
  679.         ],
  680.         'ph' => [
  681.             'name' => 'Philippines',
  682.             'code' => ['63'],
  683.         ],
  684.         'pn' => [
  685.             'name' => 'Pitcairn',
  686.             'code' => ['64'],
  687.         ],
  688.         'pl' => [
  689.             'name' => 'Poland',
  690.             'code' => ['48'],
  691.         ],
  692.         'pt' => [
  693.             'name' => 'Portugal',
  694.             'code' => ['351'],
  695.         ],
  696.         'pr' => [
  697.             'name' => 'Puerto Rico',
  698.             'code' => ['1787''1939'],
  699.         ],
  700.         'qa' => [
  701.             'name' => 'Qatar',
  702.             'code' => ['974'],
  703.         ],
  704.         're' => [
  705.             'name' => 'Réunion',
  706.             'code' => ['262'],
  707.         ],
  708.         'ro' => [
  709.             'name' => 'Romania',
  710.             'code' => ['40'],
  711.         ],
  712.         'ru' => [
  713.             'name' => 'Russia',
  714.             'code' => ['7'],
  715.         ],
  716.         'rw' => [
  717.             'name' => 'Rwanda',
  718.             'code' => ['250'],
  719.         ],
  720.         'kn' => [
  721.             'name' => 'Saint Kitts and Nevis',
  722.             'code' => ['1869'],
  723.         ],
  724.         'lc' => [
  725.             'name' => 'Saint Lucia',
  726.             'code' => ['1758'],
  727.         ],
  728.         'pm' => [
  729.             'name' => 'Saint Pierre and Miquelon',
  730.             'code' => ['508'],
  731.         ],
  732.         'vc' => [
  733.             'name' => 'Saint Vincent and the Grenadines',
  734.             'code' => ['1784'],
  735.         ],
  736.         'ws' => [
  737.             'name' => 'Samoa',
  738.             'code' => ['685'],
  739.         ],
  740.         'sm' => [
  741.             'name' => 'San Marino',
  742.             'code' => ['378'],
  743.         ],
  744.         'st' => [
  745.             'name' => 'Sao Tome and Principe',
  746.             'code' => ['239'],
  747.         ],
  748.         'sa' => [
  749.             'name' => 'Saudi Arabia',
  750.             'code' => ['966'],
  751.         ],
  752.         'sn' => [
  753.             'name' => 'Senegal',
  754.             'code' => ['221'],
  755.         ],
  756.         'rs' => [
  757.             'name' => 'Serbia',
  758.             'code' => ['381'],
  759.         ],
  760.         'sc' => [
  761.             'name' => 'Seychelles',
  762.             'code' => ['248'],
  763.         ],
  764.         'sl' => [
  765.             'name' => 'Sierra Leone',
  766.             'code' => ['232'],
  767.         ],
  768.         'sg' => [
  769.             'name' => 'Singapore',
  770.             'code' => ['65'],
  771.         ],
  772.         'sk' => [
  773.             'name' => 'Slovakia',
  774.             'code' => ['421'],
  775.         ],
  776.         'si' => [
  777.             'name' => 'Slovenia',
  778.             'code' => ['386'],
  779.         ],
  780.         'sb' => [
  781.             'name' => 'Solomon Islands',
  782.             'code' => ['677'],
  783.         ],
  784.         'so' => [
  785.             'name' => 'Somalia',
  786.             'code' => ['252'],
  787.         ],
  788.         'za' => [
  789.             'name' => 'South Africa',
  790.             'code' => ['27'],
  791.         ],
  792.         'ss' => [
  793.             'name' => 'South Sudan',
  794.             'code' => ['211'],
  795.         ],
  796.         'es' => [
  797.             'name' => 'Spain',
  798.             'code' => ['34'],
  799.         ],
  800.         'lk' => [
  801.             'name' => 'Sri Lanka',
  802.             'code' => ['94'],
  803.         ],
  804.         'sd' => [
  805.             'name' => 'Sudan',
  806.             'code' => ['249'],
  807.         ],
  808.         'sr' => [
  809.             'name' => 'Suriname',
  810.             'code' => ['597'],
  811.         ],
  812.         'sz' => [
  813.             'name' => 'Swaziland',
  814.             'code' => ['268'],
  815.         ],
  816.         'se' => [
  817.             'name' => 'Sweden',
  818.             'code' => ['46'],
  819.         ],
  820.         'ch' => [
  821.             'name' => 'Switzerland',
  822.             'code' => ['41'],
  823.         ],
  824.         'sy' => [
  825.             'name' => 'Syrian',
  826.             'code' => ['963'],
  827.         ],
  828.         'tw' => [
  829.             'name' => 'Taiwan',
  830.             'code' => ['886'],
  831.         ],
  832.         'tj' => [
  833.             'name' => 'Tajikistan',
  834.             'code' => ['992'],
  835.         ],
  836.         'tz' => [
  837.             'name' => 'Tanzania',
  838.             'code' => ['255'],
  839.         ],
  840.         'th' => [
  841.             'name' => 'Thailand',
  842.             'code' => ['66'],
  843.         ],
  844.         'tl' => [
  845.             'name' => 'Timor Leste',
  846.             'code' => ['670'],
  847.         ],
  848.         'tg' => [
  849.             'name' => 'Togo',
  850.             'code' => ['228'],
  851.         ],
  852.         'tk' => [
  853.             'name' => 'Tokelau',
  854.             'code' => ['690'],
  855.         ],
  856.         'to' => [
  857.             'name' => 'Tonga',
  858.             'code' => ['676'],
  859.         ],
  860.         'tt' => [
  861.             'name' => 'Trinidad and Tobago',
  862.             'code' => ['1868'],
  863.         ],
  864.         'tn' => [
  865.             'name' => 'Tunisia',
  866.             'code' => ['216'],
  867.         ],
  868.         'tr' => [
  869.             'name' => 'Turkey',
  870.             'code' => ['90'],
  871.         ],
  872.         'tm' => [
  873.             'name' => 'Turkmenistan',
  874.             'code' => ['993'],
  875.         ],
  876.         'tc' => [
  877.             'name' => 'Turks and Caicos Islands',
  878.             'code' => ['1649'],
  879.         ],
  880.         'tv' => [
  881.             'name' => 'Tuvalu',
  882.             'code' => ['688'],
  883.         ],
  884.         'ug' => [
  885.             'name' => 'Uganda',
  886.             'code' => ['256'],
  887.         ],
  888.         'ua' => [
  889.             'name' => 'Ukraine',
  890.             'code' => ['380'],
  891.         ],
  892.         'ae' => [
  893.             'name' => 'United Arab Emirates',
  894.             'code' => ['971'],
  895.         ],
  896.         'gb' => [
  897.             'name' => 'United Kingdom',
  898.             'code' => ['44'],
  899.         ],
  900.         'us' => [
  901.             'name' => 'United States',
  902.             'code' => ['1'],
  903.         ],
  904.         'uy' => [
  905.             'name' => 'Uruguay',
  906.             'code' => ['598'],
  907.         ],
  908.         'uz' => [
  909.             'name' => 'Uzbekistan',
  910.             'code' => ['998'],
  911.         ],
  912.         'vu' => [
  913.             'name' => 'Vanuatu',
  914.             'code' => ['678'],
  915.         ],
  916.         've' => [
  917.             'name' => 'Venezuela',
  918.             'code' => ['58'],
  919.         ],
  920.         'vn' => [
  921.             'name' => 'Vietnam',
  922.             'code' => ['84'],
  923.         ],
  924.         'vg' => [
  925.             'name' => 'Virgin Islands, British',
  926.             'code' => ['1284'],
  927.         ],
  928.         'wf' => [
  929.             'name' => 'Wallis and Futuna',
  930.             'code' => ['681'],
  931.         ],
  932.         'eh' => [
  933.             'name' => 'Western Sahara',
  934.             'code' => ['212'],
  935.         ],
  936.         'ye' => [
  937.             'name' => 'Yemen',
  938.             'code' => ['967'],
  939.         ],
  940.         'zm' => [
  941.             'name' => 'Zambia',
  942.             'code' => ['260'],
  943.         ],
  944.         'zw' => [
  945.             'name' => 'Zimbabwe',
  946.             'code' => ['263'],
  947.         ],
  948.     ];
  949.     public function getDescription(): string
  950.     {
  951.         return 'Add countries and phone codes';
  952.     }
  953.     public function up(Schema $schema): void
  954.     {
  955.         foreach (self::COUNTRIES as $isoCode => $country) {
  956.             $name $country['name'];
  957.             $phoneCodes $country['code'];
  958.             $params = ['name' => $name'iso_code' => $isoCode'sms_enabled' => 1];
  959.             $this->connection->executeQuery("
  960.                 INSERT IGNORE INTO " self::TABLE_COUNTRY "
  961.                     (`name`, `iso_code`, `sms_enabled`)
  962.                 VALUES (:name, :iso_code, :sms_enabled)
  963.             "$params);
  964.             $params = ['iso_code' => $isoCode];
  965.             $countryId $this->connection->fetchOne("
  966.                 SELECT `id` FROM " self::TABLE_COUNTRY " where `iso_code` = :iso_code
  967.             "$params);
  968.             if (false === $countryId) {
  969.                 throw new RuntimeException("Could not find country: $name");
  970.             }
  971.             foreach ($phoneCodes as $phoneCode) {
  972.                 $params = ['country_id' => $countryId'code' => $phoneCode];
  973.                 $this->connection->executeQuery("
  974.                     INSERT INTO " self::TABLE_COUNTRY_PHONE_CODE "
  975.                         (`country_id`, `code`)
  976.                     VALUES (:country_id, :code)
  977.                 "$params);
  978.             }
  979.         }
  980.     }
  981.     public function down(Schema $schema): void
  982.     {
  983.     }
  984. }