Sha256: fd528634af18ca1a3e3f8257cd4db9723e4b152056b78ed2f754170756a5e167
Contents?: true
Size: 1.66 KB
Versions: 3
Compression:
Stored size: 1.66 KB
Contents
# frozen_string_literal: true class FixShortNames < ActiveRecord::Migration[5.0] def up update <<~SQL UPDATE us_geo_core_based_statistical_areas SET short_name = 'Louisville, KY' WHERE short_name = 'Louisville/Jefferson County, KY' SQL update <<~SQL UPDATE us_geo_combined_statistical_areas SET short_name = 'Louisville, KY' WHERE short_name = 'Louisville/Jefferson County, KY' SQL update <<~SQL UPDATE us_geo_urban_areas SET short_name = 'Louisville, KY' WHERE short_name = 'Louisville/Jefferson County, KY' SQL select_all("SELECT geoid, name, short_name FROM us_geo_urban_areas").each do |row| name = row["name"].sub(/\s+Urban(?:ized)? (?:Area|Cluster)/, "") city, state = name.split(", ", 2) short_name = "#{city.split("-").first.split("/").first}, #{state.split("-").first}" escaped_short_name = short_name.gsub("'", "''") if short_name != row["short_name"] update <<~SQL UPDATE us_geo_urban_areas SET short_name = '#{escaped_short_name}' WHERE geoid = '#{row["geoid"]}' SQL end end end def down update <<~SQL UPDATE us_geo_core_based_statistical_areas SET short_name = 'Louisville/Jefferson County, KY' WHERE short_name = 'Louisville, KY' SQL update <<~SQL UPDATE us_geo_combined_statistical_areas SET short_name = 'Louisville/Jefferson County, KY' WHERE short_name = 'Louisville, KY' SQL update <<~SQL UPDATE us_geo_urban_areas SET short_name = 'Louisville/Jefferson County, KY' WHERE short_name = 'Louisville, KY' SQL end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
us_geo-2.1.1 | db/migrate/20230620000100_fix_short_names.rb |
us_geo-2.1.0 | db/migrate/20230620000100_fix_short_names.rb |
us_geo-2.0.4 | db/migrate/20230620000100_fix_short_names.rb |