diff options
| author | stuebinm | 2024-05-16 23:07:51 +0200 | 
|---|---|---|
| committer | stuebinm | 2024-05-16 23:07:51 +0200 | 
| commit | 7aeb39861887bd76ba35e5cf5222ddf08df68045 (patch) | |
| tree | 5e8ad29995cef57b190fc541cbdf3e2a4f9ca94f | |
| parent | 403c2c7ade31861c36334f0185b644e38d2dd71f (diff) | |
Persist: add cascade rules to foreign keys
It turns out persist does support these, they're just not mentioned in
the yesod book.
(for future reference, the syntax is defined in Database.Persist.Quasi,
which does include some documentation [1])
[1] https://hackage.haskell.org/package/persistent-2.14.6.1/docs/Database-Persist-Quasi.html
| -rw-r--r-- | lib/Persist.hs | 16 | 
1 files changed, 7 insertions, 9 deletions
| diff --git a/lib/Persist.hs b/lib/Persist.hs index f722487..637155a 100644 --- a/lib/Persist.hs +++ b/lib/Persist.hs @@ -103,7 +103,7 @@ Import sql=tt_imports    date UTCTime  Stop sql=tt_stop -  ticket TicketId +  ticket TicketId OnDeleteCascade OnUpdateCascade    station StationId    arrival GTFS.Time    departure GTFS.Time @@ -131,25 +131,23 @@ Tracker sql=tt_tracker_token    deriving Eq Show Generic  TrackerTicket -  ticket TicketId -  tracker TrackerId +  ticket TicketId OnDeleteCascade OnUpdateCascade +  tracker TrackerId OnDeleteCascade OnUpdateCascade    UniqueTrackerTicket ticket tracker -  -- raw frames as received from OBUs  TrainPing json sql=tt_trip_ping -  -- ticket TicketId -  token TrackerId +  ticket TicketId OnDeleteCascade OnUpdateCascade +  token TrackerId OnDeleteSetNull OnUpdateCascade    geopos Geopos    timestamp UTCTime    sequence Double -  ticket TicketId    deriving Show Generic Eq  -- status of a train somewhen in time (may be in the future),  -- inferred from trainpings / entered via controlRoom  TrainAnchor json sql=tt_trip_anchor -  ticket TicketId +  ticket TicketId OnDeleteCascade OnUpdateCascade    created UTCTime    when GTFS.Seconds    sequence Double @@ -160,7 +158,7 @@ TrainAnchor json sql=tt_trip_anchor  -- TODO: multi-language support?  Announcement json sql=tt_announcements    Id UUID default=uuid_generate_v4() -  ticket TicketId +  ticket TicketId OnDeleteCascade OnUpdateCascade    header Text    message Text    url Text Maybe | 
