from_xml JFileGameAwayTeamXml{..} =
Team {
team_id = away_team_id,
- team_abbreviation = away_team_abbreviation,
- team_name = away_team_name }
+ abbreviation = away_team_abbreviation,
+ name = away_team_name }
-- | Allow us to import JFileGameAwayTeamXml directly.
instance XmlImport JFileGameAwayTeamXml
from_xml JFileGameHomeTeamXml{..} =
Team {
team_id = home_team_id,
- team_abbreviation = home_team_abbreviation,
- team_name = home_team_name }
+ abbreviation = home_team_abbreviation,
+ name = home_team_name }
-- | Allow us to import JFileGameHomeTeamXml directly.
instance XmlImport JFileGameHomeTeamXml
-- Now loop through the message's games
forM_ (xml_games $ xml_gamelist m) $ \game -> do
+ -- First insert the game, keyed to the "jfile",
+ game_id <- insert_xml_fk msg_id game
- -- Next, we insert the home and away teams. We do this before
- -- inserting the game itself because the game has two foreign keys
- -- pointing to "teams".
+ -- Next, we insert the home and away teams.
away_team_id <- insert_xml_or_select (xml_vteam game)
home_team_id <- insert_xml_or_select (xml_hteam game)
- game_id <- insert_xml_fk msg_id game
-
-- Insert a record into jfile_games__teams mapping the
-- home/away teams to this game. Use the full record syntax
-- because the types would let us mix up the home/away teams.