instance ToDb Message where
-- | The database representation of a 'Message' is an
-- 'InjuriesDetail'.
+ --
type Db Message = InjuriesDetail
instance FromXml Message where
db_time_stamp = xml_time_stamp }
--- | This allows us to call 'insert_xml' directly on the XML
--- representation.
+-- | This allows us to insert the XML representation 'Message'
+-- directly.
+--
instance XmlImport Message
-- * InjuriesDetailListing/InjuriesDetailListingXml
--- | Database representation of an InjuriesDetailListing. It has a
+-- | Database representation of a \<Listing\> element. It has a
-- foreign key pointing to its parent 'InjuriesDetail', and does not
-- contain the list of 'xml_player_listings' (which get their own
-- table).
type Db InjuriesDetailListingXml = InjuriesDetailListing
instance FromXmlFk InjuriesDetailListingXml where
+ -- | Each 'InjuriesDetailListingXml' is contained in an
+ -- 'InjuriesDetail'.
type Parent InjuriesDetailListingXml = InjuriesDetail
-- | Construct a 'InjuriesDetailListing' from a
db_team_id = xml_team_id,
db_full_name = xml_full_name }
+-- | This allows us to insert the XML representation
+-- 'InjuriesDetailListingXml' directly.
+--
instance XmlImportFk InjuriesDetailListingXml
InjuriesDetailListingPlayerListing
instance FromXmlFk InjuriesDetailListingPlayerListingXml where
+ -- | Each 'InjuriesDetailListingPlayerListingXml' is contained in an
+ -- 'InjuriesDetailListing'.
+ --
type Parent InjuriesDetailListingPlayerListingXml = InjuriesDetailListing
- -- | To convert between a 'InjuriesDetailListingPlayerListingXml'
- -- and a 'InjuriesDetailListingPlayerListingXml', we do nothing.
+ -- | To construct a 'InjuriesDetailListingPlayerListing' from a
+ -- 'InjuriesDetailListingPlayerListingXml' we need to supply a
+ -- foreign key to an 'InjuriesDetailListing'.
+ --
from_xml_fk fk InjuriesDetailListingPlayerListingXml{..} =
InjuriesDetailListingPlayerListing {
db_injuries_detail_listings_id = fk,
db_injured = xml_injured,
db_type = xml_type }
--- | This lets us call 'insert_xml' on a
--- 'InjuriesDetailListingPlayerListingXml' without having to
--- explicitly convert it to its database analogue first.
+-- | This lets us insert the XML representation
+-- 'InjuriesDetailListingPlayerListingXml' directly.
--
instance XmlImportFk InjuriesDetailListingPlayerListingXml
--
instance DbImport Message where
+ dbmigrate _ =
+ run_dbmigrate $ do
+ migrate (undefined :: InjuriesDetail)
+ migrate (undefined :: InjuriesDetailListing)
+ migrate (undefined :: InjuriesDetailListingPlayerListing)
+
-- | To import a 'Message', we import all of its
- -- 'InjuriesDetailListingPlayerListingXml's, which we have to dig out of its
- -- 'Listing's.
+ -- 'InjuriesDetailListingPlayerListingXml's, which we have to dig
+ -- out of its 'Listing's.
+ --
dbimport msg = do
msg_id <- insert_xml msg
return ImportSucceeded
- dbmigrate _ =
- run_dbmigrate $ do
- migrate (undefined :: InjuriesDetail)
- migrate (undefined :: InjuriesDetailListing)
- migrate (undefined :: InjuriesDetailListingPlayerListing)
-
mkPersist tsn_codegen_config [groundhog|
- entity: InjuriesDetail