Commit 0afaa0cc by ivan Lan

Add warning_district

parent 0b4ba35b
class CreateWarningDistrict < ActiveRecord::Migration[5.0]
def up
create_table :warning_district do |t|
t.datetime :publishtime
t.string :warning_type
t.string :level
t.string :content
t.string :unit
t.timestamps
end
add_index :warning_district, :publishtime
end
def down
drop_table :warning_district
end
end
......@@ -2,7 +2,7 @@ module WeatherModel
module SourceSchema
def self.sorts
[:Forecast, :AutoStation, :Aqi]
[:Forecast, :AutoStation, :Aqi, :Warning]
end
Dir[File.join(File.dirname(__FILE__), 'source_schemas/*.rb')].each { |file|
......
module WeatherModel
module SourceSchema
AutoStationTenMins =
{
sort: 'AutoStation',
table_name: :auto_station_ten_mins,
schema: {
datetime: :datetime,
sitenumber: :string,
name: :string,
tempe: :string,
rain: :string,
wind_direction: :string,
wind_speed: :string,
visibility: :string,
humi: :string,
max_tempe: :string,
min_tempe: :string,
max_speed: :string,
max_direction: :string,
pressure: :string,
},
options: {
index: %i[datetime name],
expire: 4 * 60 * 60,
},
factory_name: :auto_station_ten_min,
factory: {
datetime: Time.parse('2011-11-11 11:11'),
sitenumber: '99632',
name: '蓬莱公园',
tempe: '25.6',
rain: '0',
wind_direction: '226',
wind_speed: '0.3',
visibility: '////',
humi: '////',
max_tempe: '25.6',
min_tempe: '24.3',
max_speed: '3.1',
max_direction: '308',
pressure: '////',
}
AutoStationTenMins = {
sort: 'AutoStation',
table_name: :auto_station_ten_mins,
schema: {
datetime: :datetime,
sitenumber: :string,
name: :string,
tempe: :string,
rain: :string,
wind_direction: :string,
wind_speed: :string,
visibility: :string,
humi: :string,
max_tempe: :string,
min_tempe: :string,
max_speed: :string,
max_direction: :string,
pressure: :string,
},
options: {
index: %i[datetime name],
expire: 4 * 60 * 60,
},
factory_name: :auto_station_ten_min,
factory: {
datetime: Time.parse('2011-11-11 11:11'),
sitenumber: '99632',
name: '蓬莱公园',
tempe: '25.6',
rain: '0',
wind_direction: '226',
wind_speed: '0.3',
visibility: '////',
humi: '////',
max_tempe: '25.6',
min_tempe: '24.3',
max_speed: '3.1',
max_direction: '308',
pressure: '////',
}
}
end
end
module WeatherModel
module SourceSchema
CityForecast =
{
sort: 'Forecast',
table_name: :city_forecasts,
schema: {
datetime: :datetime,
cityname: :string,
temp_high: :string,
temp_low: :string,
weather_text1: :string,
weather_text2: :string,
weather_pic: :string,
win_dir: :string,
win_speed: :string,
},
options: {
index: [:cityname, :datetime],
expire: 11 * 24 * 60 * 60,
unique: nil,
belongs_to: nil,
has_many: nil,
json_column: nil
},
factory_name: :city_forecast,
factory: {
datetime: Time.parse('2017-05-16 16:00'),
cityname: '上海',
temp_high: '100',
temp_low: '0',
weather_text1: '酷热',
weather_text2: '严寒',
weather_pic: 'http://xxx.com',
win_dir: '东南西北风',
win_speed: '1级',
}
CityForecast = {
sort: 'Forecast',
table_name: :city_forecasts,
schema: {
datetime: :datetime,
cityname: :string,
temp_high: :string,
temp_low: :string,
weather_text1: :string,
weather_text2: :string,
weather_pic: :string,
win_dir: :string,
win_speed: :string,
},
options: {
index: [:cityname, :datetime],
expire: 11 * 24 * 60 * 60,
unique: nil,
belongs_to: nil,
has_many: nil,
json_column: nil
},
factory_name: :city_forecast,
factory: {
datetime: Time.parse('2017-05-16 16:00'),
cityname: '上海',
temp_high: '100',
temp_low: '0',
weather_text1: '酷热',
weather_text2: '严寒',
weather_pic: 'http://xxx.com',
win_dir: '东南西北风',
win_speed: '1级',
}
}
end
end
\ No newline at end of file
module WeatherModel
module SourceSchema
WarningDistrict = {
sort: 'Warning',
table_name: :warning_district,
schema: {
publishtime: :datetime,
warning_type: :string,
level: :string,
content: :string,
unit: :string
},
options: {
index: [:publishtime, :unit],
expire: 11 * 24 * 60 * 60,
unique: nil,
belongs_to: nil,
has_many: nil,
json_column: nil
},
factory_name: :warning_district,
factory: {
publishtime: Time.parse('2017-05-16 16:00'),
warning_type: "雷电",
level: "解除",
content: "据最新气象资料分析,目前影响本地的雷暴已经明显减弱,本地雷电黄色预警信号解除。",
unit: "宝山"
}
}
end
end
\ No newline at end of file
......@@ -113,6 +113,7 @@ RSpec.describe WeatherModel do
WeatherModel::AutoStation::AutoStationTenMins,
WeatherModel::Aqi::AqiForecast,
WeatherModel::Aqi::AqiLive,
WeatherModel::Warning::WarningDistrict
].each { |source|
# create factory
source.all; source.const_get('Ohm').all.first;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment