Step 1: Download the zips.txt into your RoR (rails) db directory or some other place.
http://www.census.gov/tiger/tms/gazetteer/zips.txt
Step 2: Generate the table in MySQL
CREATE TABLE zip_codes (
id INTEGER NOT NULL AUTO_INCREMENT
, zip CHAR(5)
, state CHAR(2)
, town VARCHAR(50)
, population INTEGER
, PRIMARY KEY (id)
);
Step 3: Generate the model
ruby script\generator scaffold zip_code
Step 4: Run this import code
require 'csv'
CSV.open("#{RAILS_ROOT}/db/zips.txt", "r") do |row|
zip = ZipCode.new
zip.zip = row[1]
zip.state = row[2]
zip.town = row[3]
zip.population = row[6]
zip.save!
end
You can then monitor the table size and wait for it to grow to 29k+.
1 comment:
I also exported the SQL so you can run this instead.
zipcodes-sql.zip
Post a Comment