-- System imports.
import Data.Data ( Data, constrFields, dataTypeConstrs, dataTypeOf )
+import Data.Time.Clock ( UTCTime )
import Data.List.Utils ( join, split )
import Data.Tuple.Curry ( uncurryN )
import Data.Typeable ( Typeable )
tsn_codegen_config,
tsn_db_field_namer ) -- Used in a test
import TSN.DbImport ( DbImport(..), ImportResult(..), run_dbmigrate )
+import TSN.Picklers ( xp_time_stamp )
import TSN.XmlImport ( XmlImport(..) )
import Xml ( FromXml(..), pickle_unpickle, unpickleable )
xml_editor :: Maybe String,
xml_text :: Maybe String, -- Text and continue seem to show up in pairs,
xml_continue :: Maybe String, -- either both present or both missing.
- xml_time_stamp :: String }
+ xml_time_stamp :: UTCTime }
deriving (Eq, Show)
db_sms :: String,
db_editor :: Maybe String,
db_text :: Maybe String,
- db_continue :: Maybe String }
+ db_continue :: Maybe String,
+ db_time_stamp :: UTCTime }
deriving (Data, Eq, Show, Typeable)
db_sms = xml_sms,
db_editor = xml_editor,
db_text = xml_text,
- db_continue = xml_continue }
+ db_continue = xml_continue,
+ db_time_stamp = xml_time_stamp }
-- | This lets us call 'insert_xml' on a 'Message'.
--
fields:
- name: news_NewsTeam0 # Default created by mkNormalFieldName
dbName: news_id
+ reference:
+ onDelete: cascade
- name: news_NewsTeam1 # Default created by mkNormalFieldName
dbName: news_teams_id
+ reference:
+ onDelete: cascade
- entity: News_NewsLocation
dbName: news__news_locations
fields:
- name: news_NewsLocation0 # Default created by mkNormalFieldName
dbName: news_id
+ reference:
+ onDelete: cascade
- name: news_NewsLocation1 # Default created by mkNormalFieldName
dbName: news_locations_id
+ reference:
+ onDelete: cascade
|]
(xpOption (xpElem "Editor" xpText))
(xpOption (xpElem "text" xpText))
pickle_continue
- (xpElem "time_stamp" xpText)
+ (xpElem "time_stamp" xp_time_stamp)
where
from_tuple = uncurryN Message
to_tuple m = (xml_xml_file_id m, -- Verbose,