]> gitweb.michael.orlitzky.com - dead/htsn-import.git/blobdiff - src/TSN/XML/InjuriesDetail.hs
Don't bother with the three-character limit on team_id fields; Postgres doesn't care.
[dead/htsn-import.git] / src / TSN / XML / InjuriesDetail.hs
index a225cbf8db1e32faaf830a100b9789d644f3edf5..d857bda96a9ebc763e2679367b6c42e2f544f20e 100644 (file)
@@ -49,7 +49,7 @@ import Text.XML.HXT.Core (
   xpWrap )
 
 -- Local imports.
-import TSN.Picklers( xp_date, xp_team_id )
+import TSN.Picklers( xp_date )
 import TSN.DbImport ( DbImport(..), ImportResult(..), run_dbmigrate )
 import TSN.XmlImport ( XmlImport(..) )
 import Xml ( FromXml(..), pickle_unpickle, unpickleable )
@@ -60,8 +60,12 @@ import Xml ( FromXml(..), pickle_unpickle, unpickleable )
 --
 data PlayerListing =
   PlayerListing {
-    team_id   :: String, -- ^ TeamIDs are (apparently) three characters long
-                         --   and not necessarily numeric.
+    team_id   :: String, -- ^ TeamIDs are (apparently) three
+                         --   characters long and not necessarily
+                         --   numeric. Postgres imposes no performance
+                         --   penalty on a lengthless text field,
+                         --   so we ignore the likely upper bound of
+                         --   three characters.
     player_id :: Int,
     date      :: UTCTime,
     pos       :: String,
@@ -128,11 +132,6 @@ instance DbImport Message where
 mkPersist defaultCodegenConfig [groundhog|
 - entity: PlayerListing
   dbName: injuries_detail_player_listings
-  constructors:
-    - name: PlayerListing
-      fields:
-        - name: team_id
-          type: varchar(3) # We've only seen 3... so far.
 |]
 
 
@@ -142,7 +141,7 @@ pickle_player_listing :: PU PlayerListing
 pickle_player_listing =
   xpElem "PlayerListing" $
     xpWrap (from_tuple, to_tuple) $
-    xp10Tuple (xpElem "TeamID" xp_team_id)
+    xp10Tuple (xpElem "TeamID" xpText)
               (xpElem "PlayerID" xpInt)
               (xpElem "Date" xp_date)
               (xpElem "Pos" xpText)
@@ -172,7 +171,7 @@ pickle_listing :: PU Listing
 pickle_listing =
   xpElem "Listing" $
     xpWrap (from_tuple, to_tuple) $
-    xpTriple (xpElem "TeamID" xp_team_id)
+    xpTriple (xpElem "TeamID" xpText)
              (xpElem "FullName" xpText)
              (xpList pickle_player_listing)
   where