@@ -29,11 +29,50 @@ namespace :load_mlab_data do
29
29
csv = CSV . parse ( csv_text , :headers => true )
30
30
csv . each do |row |
31
31
row = row . to_hash . with_indifferent_access
32
- CountryMeasurement . create! ( row . to_hash . symbolize_keys )
32
+ countrymeasurement = CountryMeasurement . new ( row . to_hash . symbolize_keys )
33
+ begin
34
+ day = row [ 'month' ] . split ( '-' ) [ 1 ]
35
+ month = row [ 'month' ] . split ( '-' ) [ 0 ]
36
+ year = row [ 'month' ] . split ( '-' ) [ 2 ]
37
+ countrymeasurement . month = "#{ year } -#{ month } -#{ day } "
38
+ rescue
39
+ end
40
+ countrymeasurement . save
41
+ end
42
+ end
43
+
44
+ desc "Loading city_map data"
45
+ task :load_city_map => :environment do
46
+ csv_text = File . read ( 'mlab_data/city_map.txt' )
47
+ csv = CSV . parse ( csv_text , :headers => true )
48
+ csv . each do |row |
49
+ row = row . to_hash . with_indifferent_access
50
+ citymap = CityMap . new ( row . to_hash . symbolize_keys )
51
+ citymap . id = citymap . city . hash
52
+ citymap . save!
53
+ end
54
+ end
55
+
56
+ desc "Loading city_measurements data"
57
+ task :load_city_measurements => :environment do
58
+ csv_text = File . read ( 'mlab_data/city_measurements.txt' )
59
+ csv = CSV . parse ( csv_text , :headers => true )
60
+ csv . each do |row |
61
+ row = row . to_hash . with_indifferent_access
62
+ citymeasurement = CityMeasurement . new ( row . to_hash . symbolize_keys )
63
+ begin
64
+ day = row [ 'month' ] . split ( '-' ) [ 1 ]
65
+ month = row [ 'month' ] . split ( '-' ) [ 0 ]
66
+ year = row [ 'month' ] . split ( '-' ) [ 2 ]
67
+ citymeasurement . month = "#{ year } -#{ month } -#{ day } "
68
+ rescue
69
+ end
70
+ citymeasurement . city_map_id = citymeasurement . city . hash
71
+ citymeasurement . save!
33
72
end
34
73
end
35
74
36
75
desc "Run all mlab data tasks"
37
- task :all => [ :load_world_measurements_data , :load_country_map , :load_country_measurements ]
76
+ task :all => [ :load_world_measurements_data , :load_country_map , :load_country_measurements , :load_city_measurements , :load_city_map ]
38
77
39
78
end
0 commit comments