mirror of
https://code.naskya.net/repos/ndqEd
synced 2025-03-20 15:14:54 +09:00
DB: Add foreign key from TicketAuthorLocal to LocalTicket
Right now it's in addition to the Ticket one. The next patch will remove the Ticket old, so TicketAuthorLocal will point only to the LocalTicket.
This commit is contained in:
parent
443ff6daa1
commit
fd704e231f
5 changed files with 160 additions and 0 deletions
src/Vervis
|
@ -869,6 +869,7 @@ offerTicketC shrUser summary audience offer@(Offer ticket uTarget) = runExceptT
|
|||
}
|
||||
insert_ TicketAuthorLocal
|
||||
{ ticketAuthorLocalTicket = tid
|
||||
, ticketAuthorLocalTicketNew = ltid
|
||||
, ticketAuthorLocalAuthor = pidAuthor
|
||||
, ticketAuthorLocalOffer = obiid
|
||||
}
|
||||
|
|
|
@ -73,6 +73,7 @@ import Database.Persist.Local
|
|||
|
||||
import Vervis.FedURI
|
||||
import Vervis.Model.Ident
|
||||
import Vervis.Model.Workflow
|
||||
import Vervis.Foundation (App, Route (..))
|
||||
import Vervis.Migration.Model
|
||||
import Yesod.RenderSource
|
||||
|
@ -1252,6 +1253,67 @@ changes hLocal ctx =
|
|||
, removeField "Ticket" "discuss"
|
||||
-- 193
|
||||
, removeField "Ticket" "followers"
|
||||
-- 194
|
||||
, addFieldRefRequired''
|
||||
"TicketAuthorLocal"
|
||||
(do tid <- do
|
||||
jid <- do
|
||||
let temp = "$$temp$$"
|
||||
sid <- insert $ Sharer194 (text2shr temp) Nothing defaultTime
|
||||
wid <- insert $ Workflow194 sid (text2wfl temp) Nothing Nothing WSSharer
|
||||
ibid <- insert Inbox194
|
||||
obid <- insert Outbox194
|
||||
fsid <- insert FollowerSet194
|
||||
insert $ Project194 (text2prj temp) sid Nothing Nothing wid 1 Nothing Nothing Nothing ibid obid fsid
|
||||
obiid <- do
|
||||
obid <- insert Outbox194
|
||||
let h = Authority "x.y" Nothing :: Host
|
||||
doc = Doc h emptyActivity
|
||||
insert $ OutboxItem194 obid (persistJSONObjectFromDoc doc) defaultTime
|
||||
insert $ Ticket194 jid Nothing defaultTime "" "" "" Nothing "TSNew" defaultTime Nothing obiid
|
||||
did <- insert Discussion194
|
||||
fsid <- insert FollowerSet194
|
||||
insertEntity $ LocalTicket194 tid did fsid
|
||||
)
|
||||
(Just $ \ (Entity ltidTemp ltTemp) -> do
|
||||
tals <- selectList ([] :: [Filter TicketAuthorLocal194]) []
|
||||
for_ tals $ \ (Entity talid tal) -> do
|
||||
tlid <- do
|
||||
mtlid <- getKeyBy $ UniqueLocalTicket194 $ ticketAuthorLocal194Ticket tal
|
||||
case mtlid of
|
||||
Nothing -> error $ "No LocalTicket for talid#" ++ show talid
|
||||
Just tlid -> return tlid
|
||||
update talid [TicketAuthorLocal194TicketNew =. tlid]
|
||||
|
||||
delete ltidTemp
|
||||
|
||||
let tid = localTicket194Ticket ltTemp
|
||||
t <- getJust tid
|
||||
delete tid
|
||||
|
||||
let jid = ticket194Project t
|
||||
j <- getJust jid
|
||||
delete jid
|
||||
delete $ project194Workflow j
|
||||
delete $ project194Sharer j
|
||||
delete $ project194Inbox j
|
||||
delete $ project194Outbox j
|
||||
delete $ project194Followers j
|
||||
|
||||
let obiid = ticket194Accept t
|
||||
obi <- getJust obiid
|
||||
delete obiid
|
||||
delete $ outboxItem194Outbox obi
|
||||
|
||||
delete $ localTicket194Discuss ltTemp
|
||||
|
||||
delete $ localTicket194Followers ltTemp
|
||||
)
|
||||
"ticketNew"
|
||||
"LocalTicket"
|
||||
-- 195
|
||||
, addUnique "TicketAuthorLocal" $
|
||||
Unique "UniqueTicketAuthorLocalNew" ["ticketNew"]
|
||||
]
|
||||
|
||||
migrateDB
|
||||
|
|
|
@ -143,6 +143,18 @@ module Vervis.Migration.Model
|
|||
, Ticket189
|
||||
, Ticket189Generic (..)
|
||||
, LocalTicket189Generic (..)
|
||||
, Sharer194Generic (..)
|
||||
, Outbox194Generic (..)
|
||||
, OutboxItem194Generic (..)
|
||||
, Inbox194Generic (..)
|
||||
, FollowerSet194Generic (..)
|
||||
, Project194Generic (..)
|
||||
, Workflow194Generic (..)
|
||||
, Ticket194Generic (..)
|
||||
, LocalTicket194Generic (..)
|
||||
, TicketAuthorLocal194
|
||||
, TicketAuthorLocal194Generic (..)
|
||||
, Discussion194Generic (..)
|
||||
)
|
||||
where
|
||||
|
||||
|
@ -289,3 +301,6 @@ model_2020_02_05 :: [Entity SqlBackend]
|
|||
model_2020_02_05 = $(schema "2020_02_05_local_ticket")
|
||||
|
||||
makeEntitiesMigration "189" $(modelFile "migrations/2020_02_05_mig.model")
|
||||
|
||||
makeEntitiesMigration "194"
|
||||
$(modelFile "migrations/2020_02_06_tal_point_to_lt.model")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue