1
0
Fork 0
mirror of https://code.sup39.dev/repos/Wqawg synced 2024-12-27 15:04:50 +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

View file

@ -382,10 +382,12 @@ TicketAuthorLocal
TicketAuthorRemote TicketAuthorRemote
ticket TicketId ticket TicketId
ticketNew TicketProjectLocalId
author RemoteActorId author RemoteActorId
offer RemoteActivityId offer RemoteActivityId
UniqueTicketAuthorRemote ticket UniqueTicketAuthorRemote ticket
UniqueTicketAuthorRemoteNew ticketNew
UniqueTicketAuthorRemoteOffer offer UniqueTicketAuthorRemoteOffer offer
TicketDependency TicketDependency

View file

@ -0,0 +1,73 @@
Sharer
ident ShrIdent
name Text Maybe
created UTCTime
UniqueSharer ident
Outbox
OutboxItem
outbox OutboxId
activity PersistJSONObject
published UTCTime
Inbox
FollowerSet
Project
ident PrjIdent
sharer SharerId
name Text Maybe
desc Text Maybe
workflow WorkflowId
nextTicket Int
wiki Int64 Maybe
collabUser Int64 Maybe
collabAnon Int64 Maybe
inbox InboxId
outbox OutboxId
followers FollowerSetId
UniqueProject ident sharer
UniqueProjectInbox inbox
UniqueProjectOutbox outbox
UniqueProjectFollowers followers
Workflow
sharer SharerId
ident WflIdent
name Text Maybe
desc Text Maybe
scope WorkflowScope
UniqueWorkflow sharer ident
Ticket
number Int Maybe
created UTCTime
title Text -- HTML
source Text -- Pandoc Markdown
description Text -- HTML
assignee Int64 Maybe
status Text
closed UTCTime
closer Int64 Maybe
TicketProjectLocal
ticket TicketId
project ProjectId
accept OutboxItemId
UniqueTicketProjectLocal ticket
UniqueTicketProjectLocalAccept accept
TicketAuthorRemote
ticket TicketId
ticketNew TicketProjectLocalId
author Int64
offer Int64
UniqueTicketAuthorRemote ticket
UniqueTicketAuthorRemoteOffer offer

View file

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

View file

@ -1342,6 +1342,60 @@ changes hLocal ctx =
, removeUnique "Ticket" "UniqueTicketAccept" , removeUnique "Ticket" "UniqueTicketAccept"
-- 204 -- 204
, removeField "Ticket" "accept" , 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 migrateDB

View file

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