1
0
Fork 0
mirror of https://code.naskya.net/repos/ndqEd synced 2025-03-20 15:14:54 +09:00

DB: Point from TicketAuthorRemote to TicketProjectLocal

This commit is contained in:
fr33domlover 2020-02-07 19:42:02 +00:00
parent ea7d806233
commit 5b57039447
5 changed files with 145 additions and 1 deletions
src/Vervis

View file

@ -278,13 +278,14 @@ projectOfferTicketF
, localTicketDiscuss = did
, localTicketFollowers = fsid
}
insert_ TicketProjectLocal
tplid <- insert TicketProjectLocal
{ ticketProjectLocalTicket = tid
, ticketProjectLocalProject = jid
, ticketProjectLocalAccept = obiidAccept
}
insert_ TicketAuthorRemote
{ ticketAuthorRemoteTicket = tid
, ticketAuthorRemoteTicketNew = tplid
, ticketAuthorRemoteAuthor = raidAuthor
, ticketAuthorRemoteOffer = ractid
}

View file

@ -1342,6 +1342,60 @@ changes hLocal ctx =
, removeUnique "Ticket" "UniqueTicketAccept"
-- 204
, removeField "Ticket" "accept"
-- 205
, addFieldRefRequired''
"TicketAuthorRemote"
(do tid <- insert $ Ticket205 Nothing defaultTime "" "" "" Nothing "TSNew" defaultTime Nothing
jid <- do
let temp = "$$temp$$"
sid <- insert $ Sharer205 (text2shr temp) Nothing defaultTime
wid <- insert $ Workflow205 sid (text2wfl temp) Nothing Nothing WSSharer
ibid <- insert Inbox205
obid <- insert Outbox205
fsid <- insert FollowerSet205
insert $ Project205 (text2prj temp) sid Nothing Nothing wid 1 Nothing Nothing Nothing ibid obid fsid
obiid <- do
obid <- insert Outbox205
let h = Authority "x.y" Nothing :: Host
doc = Doc h emptyActivity
insert $ OutboxItem205 obid (persistJSONObjectFromDoc doc) defaultTime
insertEntity $ TicketProjectLocal205 tid jid obiid
)
(Just $ \ (Entity tplidTemp tplTemp) -> do
tars <- selectList ([] :: [Filter TicketAuthorRemote205]) []
for_ tars $ \ (Entity tarid tar) -> do
tplid <- do
mtplid <- getKeyBy $ UniqueTicketProjectLocal205 $ ticketAuthorRemote205Ticket tar
case mtplid of
Nothing -> error $ "No TicketProjectLocal for tarid#" ++ show tarid
Just k -> return k
update tarid [TicketAuthorRemote205TicketNew =. tplid]
delete tplidTemp
let tid = ticketProjectLocal205Ticket tplTemp
_t <- getJust tid
delete tid
let jid = ticketProjectLocal205Project tplTemp
j <- getJust jid
delete jid
delete $ project205Workflow j
delete $ project205Sharer j
delete $ project205Inbox j
delete $ project205Outbox j
delete $ project205Followers j
let obiid = ticketProjectLocal205Accept tplTemp
obi <- getJust obiid
delete obiid
delete $ outboxItem205Outbox obi
)
"ticketNew"
"TicketProjectLocal"
-- 206
, addUnique "TicketAuthorRemote" $
Unique "UniqueTicketAuthorRemoteNew" ["ticketNew"]
]
migrateDB

View file

@ -159,6 +159,17 @@ module Vervis.Migration.Model
, Ticket201
, Ticket201Generic (..)
, TicketProjectLocal201Generic (..)
, Sharer205Generic (..)
, Outbox205Generic (..)
, OutboxItem205Generic (..)
, Inbox205Generic (..)
, FollowerSet205Generic (..)
, Project205Generic (..)
, Workflow205Generic (..)
, Ticket205Generic (..)
, TicketProjectLocal205Generic (..)
, TicketAuthorRemote205
, TicketAuthorRemote205Generic (..)
)
where
@ -314,3 +325,6 @@ model_2020_02_07 = $(schema "2020_02_07_tpl")
makeEntitiesMigration "201"
$(modelFile "migrations/2020_02_07_tpl_mig.model")
makeEntitiesMigration "205"
$(modelFile "migrations/2020_02_08_tar_point_to_tpl.model")