class UpdateSpreeCountriesCurrencyId < ActiveRecord::Migration
  def up
    [
        { :country_iso => 'AF', :currency_code => 'AFN' },
        { :country_iso => 'AL', :currency_code => 'ALL' },
        { :country_iso => 'DZ', :currency_code => 'DZD' },
        { :country_iso => 'AS', :currency_code => 'USD' },
        { :country_iso => 'AD', :currency_code => 'EUR' },
        { :country_iso => 'AO', :currency_code => 'AOA' },
        { :country_iso => 'AI', :currency_code => 'XCD' },
        { :country_iso => 'AG', :currency_code => 'XCD' },
        { :country_iso => 'AR', :currency_code => 'ARS' },
        { :country_iso => 'AM', :currency_code => 'AMD' },
        { :country_iso => 'AW', :currency_code => 'AWG' },
        { :country_iso => 'AU', :currency_code => 'AUD' },
        { :country_iso => 'AT', :currency_code => 'EUR' },
        { :country_iso => 'AZ', :currency_code => 'AZN' },
        { :country_iso => 'BS', :currency_code => 'BSD' },
        { :country_iso => 'BH', :currency_code => 'BHD' },
        { :country_iso => 'BD', :currency_code => 'BDT' },
        { :country_iso => 'BB', :currency_code => 'BBD' },
        { :country_iso => 'BY', :currency_code => 'BYR' },
        { :country_iso => 'BE', :currency_code => 'EUR' },
        { :country_iso => 'BZ', :currency_code => 'BZD' },
        { :country_iso => 'BJ', :currency_code => 'XOF' },
        { :country_iso => 'BM', :currency_code => 'BMD' },
        { :country_iso => 'BT', :currency_code => 'BTN' },
        { :country_iso => 'BO', :currency_code => 'BOB' },
        { :country_iso => 'BQ', :currency_code => 'USD' },
        { :country_iso => 'BA', :currency_code => 'BAM' },
        { :country_iso => 'BW', :currency_code => 'BWP' },
        { :country_iso => 'BV', :currency_code => 'NOK' },
        { :country_iso => 'BR', :currency_code => 'BRL' },
        { :country_iso => 'IO', :currency_code => 'GBP' },
        { :country_iso => 'BN', :currency_code => 'BND' },
        { :country_iso => 'BG', :currency_code => 'BGN' },
        { :country_iso => 'BF', :currency_code => 'XOF' },
        { :country_iso => 'BI', :currency_code => 'BIF' },
        { :country_iso => 'KH', :currency_code => 'KHR' },
        { :country_iso => 'CM', :currency_code => 'XAF' },
        { :country_iso => 'CA', :currency_code => 'CAD' },
        { :country_iso => 'CV', :currency_code => 'CVE' },
        { :country_iso => 'KY', :currency_code => 'KYD' },
        { :country_iso => 'CF', :currency_code => 'XAF' },
        { :country_iso => 'TD', :currency_code => 'XAF' },
        { :country_iso => 'CL', :currency_code => 'CLP' },
        { :country_iso => 'CN', :currency_code => 'CNY' },
        { :country_iso => 'CX', :currency_code => 'AUD' },
        { :country_iso => 'CC', :currency_code => 'AUD' },
        { :country_iso => 'CO', :currency_code => 'COP' },
        { :country_iso => 'KM', :currency_code => 'KMF' },
        { :country_iso => 'CG', :currency_code => 'XAF' },
        { :country_iso => 'CD', :currency_code => 'CDF' },
        { :country_iso => 'CK', :currency_code => 'NZD' },
        { :country_iso => 'CR', :currency_code => 'CRC' },
        { :country_iso => 'HR', :currency_code => 'HRK' },
        { :country_iso => 'CU', :currency_code => 'CUC' },
        { :country_iso => 'CW', :currency_code => 'ANG' },
        { :country_iso => 'CY', :currency_code => 'EUR' },
        { :country_iso => 'CZ', :currency_code => 'CZK' },
        { :country_iso => 'CI', :currency_code => 'XOF' },
        { :country_iso => 'DK', :currency_code => 'DKK' },
        { :country_iso => 'DJ', :currency_code => 'DJF' },
        { :country_iso => 'DM', :currency_code => 'XCD' },
        { :country_iso => 'DO', :currency_code => 'DOP' },
        { :country_iso => 'EC', :currency_code => 'USD' },
        { :country_iso => 'EG', :currency_code => 'EGP' },
        { :country_iso => 'SV', :currency_code => 'USD' },
        { :country_iso => 'GQ', :currency_code => 'XAF' },
        { :country_iso => 'ER', :currency_code => 'ERN' },
        { :country_iso => 'EE', :currency_code => 'EUR' },
        { :country_iso => 'ET', :currency_code => 'ETB' },
        { :country_iso => 'FK', :currency_code => 'FKP' },
        { :country_iso => 'FO', :currency_code => 'DKK' },
        { :country_iso => 'FJ', :currency_code => 'FJD' },
        { :country_iso => 'FI', :currency_code => 'EUR' },
        { :country_iso => 'FR', :currency_code => 'EUR' },
        { :country_iso => 'GF', :currency_code => 'EUR' },
        { :country_iso => 'PF', :currency_code => 'XPF' },
        { :country_iso => 'GA', :currency_code => 'XAF' },
        { :country_iso => 'GM', :currency_code => 'GMD' },
        { :country_iso => 'GE', :currency_code => 'GEL' },
        { :country_iso => 'DE', :currency_code => 'EUR' },
        { :country_iso => 'GH', :currency_code => 'GHS' },
        { :country_iso => 'GI', :currency_code => 'GIP' },
        { :country_iso => 'GR', :currency_code => 'EUR' },
        { :country_iso => 'GL', :currency_code => 'DKK' },
        { :country_iso => 'GD', :currency_code => 'XCD' },
        { :country_iso => 'GP', :currency_code => 'EUR' },
        { :country_iso => 'GU', :currency_code => 'USD' },
        { :country_iso => 'GT', :currency_code => 'GTQ' },
        { :country_iso => 'GG', :currency_code => 'GGP' },
        { :country_iso => 'GN', :currency_code => 'GNF' },
        { :country_iso => 'GW', :currency_code => 'XOF' },
        { :country_iso => 'GY', :currency_code => 'GYD' },
        { :country_iso => 'HT', :currency_code => 'HTG' },
        { :country_iso => 'HM', :currency_code => 'AUD' },
        { :country_iso => 'VA', :currency_code => 'EUR' },
        { :country_iso => 'HN', :currency_code => 'HNL' },
        { :country_iso => 'HK', :currency_code => 'HKD' },
        { :country_iso => 'HU', :currency_code => 'HUF' },
        { :country_iso => 'IS', :currency_code => 'ISK' },
        { :country_iso => 'IN', :currency_code => 'INR' },
        { :country_iso => 'ID', :currency_code => 'IDR' },
        { :country_iso => 'IR', :currency_code => 'IRR' },
        { :country_iso => 'IQ', :currency_code => 'IQD' },
        { :country_iso => 'IE', :currency_code => 'EUR' },
        { :country_iso => 'IM', :currency_code => 'IMP' },
        { :country_iso => 'IL', :currency_code => 'ILS' },
        { :country_iso => 'IT', :currency_code => 'EUR' },
        { :country_iso => 'JM', :currency_code => 'JMD' },
        { :country_iso => 'JP', :currency_code => 'JPY' },
        { :country_iso => 'JE', :currency_code => 'JEP' },
        { :country_iso => 'JO', :currency_code => 'JOD' },
        { :country_iso => 'KZ', :currency_code => 'KZT' },
        { :country_iso => 'KE', :currency_code => 'KES' },
        { :country_iso => 'KI', :currency_code => 'AUD' },
        { :country_iso => 'KP', :currency_code => 'KPW' },
        { :country_iso => 'KR', :currency_code => 'KRW' },
        { :country_iso => 'KW', :currency_code => 'KWD' },
        { :country_iso => 'KG', :currency_code => 'KGS' },
        { :country_iso => 'LA', :currency_code => 'LAK' },
        { :country_iso => 'LV', :currency_code => 'EUR' },
        { :country_iso => 'LB', :currency_code => 'LBP' },
        { :country_iso => 'LS', :currency_code => 'LSL' },
        { :country_iso => 'LR', :currency_code => 'LRD' },
        { :country_iso => 'LY', :currency_code => 'LYD' },
        { :country_iso => 'LI', :currency_code => 'CHF' },
        { :country_iso => 'LT', :currency_code => 'EUR' },
        { :country_iso => 'LU', :currency_code => 'EUR' },
        { :country_iso => 'MO', :currency_code => 'MOP' },
        { :country_iso => 'MK', :currency_code => 'MKD' },
        { :country_iso => 'MG', :currency_code => 'MGA' },
        { :country_iso => 'MW', :currency_code => 'MWK' },
        { :country_iso => 'MY', :currency_code => 'MYR' },
        { :country_iso => 'MV', :currency_code => 'MVR' },
        { :country_iso => 'ML', :currency_code => 'XOF' },
        { :country_iso => 'MT', :currency_code => 'EUR' },
        { :country_iso => 'MH', :currency_code => 'USD' },
        { :country_iso => 'MQ', :currency_code => 'EUR' },
        { :country_iso => 'MR', :currency_code => 'MRO' },
        { :country_iso => 'MU', :currency_code => 'MUR' },
        { :country_iso => 'YT', :currency_code => 'EUR' },
        { :country_iso => 'MX', :currency_code => 'MXN' },
        { :country_iso => 'FM', :currency_code => 'USD' },
        { :country_iso => 'MD', :currency_code => 'MDL' },
        { :country_iso => 'MC', :currency_code => 'EUR' },
        { :country_iso => 'MN', :currency_code => 'MNT' },
        { :country_iso => 'ME', :currency_code => 'EUR' },
        { :country_iso => 'MS', :currency_code => 'XCD' },
        { :country_iso => 'MA', :currency_code => 'MAD' },
        { :country_iso => 'MZ', :currency_code => 'MZN' },
        { :country_iso => 'MM', :currency_code => 'MMK' },
        { :country_iso => 'NA', :currency_code => 'NAD' },
        { :country_iso => 'NR', :currency_code => 'AUD' },
        { :country_iso => 'NP', :currency_code => 'NPR' },
        { :country_iso => 'NL', :currency_code => 'EUR' },
        { :country_iso => 'NC', :currency_code => 'XPF' },
        { :country_iso => 'NZ', :currency_code => 'NZD' },
        { :country_iso => 'NI', :currency_code => 'NIO' },
        { :country_iso => 'NE', :currency_code => 'XOF' },
        { :country_iso => 'NG', :currency_code => 'NGN' },
        { :country_iso => 'NU', :currency_code => 'NZD' },
        { :country_iso => 'NF', :currency_code => 'AUD' },
        { :country_iso => 'MP', :currency_code => 'USD' },
        { :country_iso => 'NO', :currency_code => 'NOK' },
        { :country_iso => 'OM', :currency_code => 'OMR' },
        { :country_iso => 'PK', :currency_code => 'PKR' },
        { :country_iso => 'PW', :currency_code => 'USD' },
        { :country_iso => 'PS', :currency_code => 'ILS' },
        { :country_iso => 'PA', :currency_code => 'USD' },
        { :country_iso => 'PG', :currency_code => 'PGK' },
        { :country_iso => 'PY', :currency_code => 'PYG' },
        { :country_iso => 'PE', :currency_code => 'PEN' },
        { :country_iso => 'PH', :currency_code => 'PHP' },
        { :country_iso => 'PN', :currency_code => 'NZD' },
        { :country_iso => 'PL', :currency_code => 'PLN' },
        { :country_iso => 'PT', :currency_code => 'EUR' },
        { :country_iso => 'QA', :currency_code => 'QAR' },
        { :country_iso => 'RO', :currency_code => 'RON' },
        { :country_iso => 'RU', :currency_code => 'RUB' },
        { :country_iso => 'RW', :currency_code => 'RWF' },
        { :country_iso => 'RE', :currency_code => 'EUR' },
        { :country_iso => 'BL', :currency_code => 'EUR' },
        { :country_iso => 'SH', :currency_code => 'SHP' },
        { :country_iso => 'KN', :currency_code => 'XCD' },
        { :country_iso => 'LC', :currency_code => 'XCD' },
        { :country_iso => 'MF', :currency_code => 'EUR' },
        { :country_iso => 'PM', :currency_code => 'EUR' },
        { :country_iso => 'VC', :currency_code => 'XCD' },
        { :country_iso => 'WS', :currency_code => 'WST' },
        { :country_iso => 'SM', :currency_code => 'EUR' },
        { :country_iso => 'ST', :currency_code => 'STD' },
        { :country_iso => 'SA', :currency_code => 'SAR' },
        { :country_iso => 'SN', :currency_code => 'XOF' },
        { :country_iso => 'RS', :currency_code => 'RSD' },
        { :country_iso => 'SC', :currency_code => 'SCR' },
        { :country_iso => 'SL', :currency_code => 'SLL' },
        { :country_iso => 'SG', :currency_code => 'SGD' },
        { :country_iso => 'SX', :currency_code => 'ANG' },
        { :country_iso => 'SK', :currency_code => 'EUR' },
        { :country_iso => 'SI', :currency_code => 'EUR' },
        { :country_iso => 'SB', :currency_code => 'SBD' },
        { :country_iso => 'SO', :currency_code => 'SOS' },
        { :country_iso => 'ZA', :currency_code => 'ZAR' },
        { :country_iso => 'GS', :currency_code => 'GBP' },
        { :country_iso => 'SS', :currency_code => 'SSP' },
        { :country_iso => 'ES', :currency_code => 'EUR' },
        { :country_iso => 'LK', :currency_code => 'LKR' },
        { :country_iso => 'SD', :currency_code => 'SDG' },
        { :country_iso => 'SR', :currency_code => 'SRD' },
        { :country_iso => 'SJ', :currency_code => 'NOK' },
        { :country_iso => 'SZ', :currency_code => 'SZL' },
        { :country_iso => 'SE', :currency_code => 'SEK' },
        { :country_iso => 'CH', :currency_code => 'CHF' },
        { :country_iso => 'SY', :currency_code => 'SYP' },
        { :country_iso => 'TW', :currency_code => 'TWD' },
        { :country_iso => 'TJ', :currency_code => 'TJS' },
        { :country_iso => 'TZ', :currency_code => 'TZS' },
        { :country_iso => 'TH', :currency_code => 'THB' },
        { :country_iso => 'TL', :currency_code => 'USD' },
        { :country_iso => 'TG', :currency_code => 'XOF' },
        { :country_iso => 'TK', :currency_code => 'NZD' },
        { :country_iso => 'TO', :currency_code => 'TOP' },
        { :country_iso => 'TT', :currency_code => 'TTD' },
        { :country_iso => 'TN', :currency_code => 'TND' },
        { :country_iso => 'TR', :currency_code => 'TRY' },
        { :country_iso => 'TM', :currency_code => 'TMT' },
        { :country_iso => 'TC', :currency_code => 'USD' },
        { :country_iso => 'TV', :currency_code => 'AUD' },
        { :country_iso => 'UG', :currency_code => 'UGX' },
        { :country_iso => 'UA', :currency_code => 'UAH' },
        { :country_iso => 'AE', :currency_code => 'AED' },
        { :country_iso => 'GB', :currency_code => 'GBP' },
        { :country_iso => 'US', :currency_code => 'USD' },
        { :country_iso => 'UM', :currency_code => 'USD' },
        { :country_iso => 'UY', :currency_code => 'UYU' },
        { :country_iso => 'UZ', :currency_code => 'UZS' },
        { :country_iso => 'VU', :currency_code => 'VUV' },
        { :country_iso => 'VE', :currency_code => 'VEF' },
        { :country_iso => 'VN', :currency_code => 'VND' },
        { :country_iso => 'VG', :currency_code => 'USD' },
        { :country_iso => 'VI', :currency_code => 'USD' },
        { :country_iso => 'WF', :currency_code => 'XPF' },
        { :country_iso => 'EH', :currency_code => 'MAD' },
        { :country_iso => 'YE', :currency_code => 'YER' },
        { :country_iso => 'ZM', :currency_code => 'ZMW' },
        { :country_iso => 'ZW', :currency_code => 'ZWD' },
        { :country_iso => 'AX', :currency_code => 'EUR' },
    ].each do |item|
      currency = Spree::Currency.find_by(code: item[:currency_code])
      country = Spree::Country.find_by(iso: item[:country_iso])
      country.currency = currency
      country.save!
    end
  end

  def down
    Spree::Country.update_all(currency_id: nil)
  end
end
