Skip to content

Commit b4a9cd0

Browse files
authored
fix(projectversion): Populate project versions that have missing releasedAt timestamp (#2460)
Signed-off-by: Javier Rodriguez <[email protected]>
1 parent 431f583 commit b4a9cd0

File tree

2 files changed

+53
-1
lines changed

2 files changed

+53
-1
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
-- Backfill released_at field for released project versions
2+
-- This migration populates the released_at timestamp for project versions
3+
-- that are marked as released (prerelease = false) but don't have a released_at timestamp
4+
5+
DO $$
6+
DECLARE
7+
batch_size INTEGER := 100;
8+
total_remaining INTEGER := 0;
9+
total_updated INTEGER := 0;
10+
BEGIN
11+
-- Get initial count of project versions that need updating
12+
-- (those that are released but don't have released_at set)
13+
SELECT COUNT(*)
14+
INTO total_remaining
15+
FROM project_versions
16+
WHERE prerelease = false
17+
AND released_at IS NULL
18+
AND deleted_at IS NULL;
19+
20+
-- Loop until no more rows remain
21+
WHILE total_remaining > 0 LOOP
22+
-- Update a batch of project versions
23+
-- Set released_at to created_at as a reasonable default
24+
WITH updated AS (
25+
UPDATE project_versions
26+
SET released_at = created_at
27+
WHERE id IN (
28+
SELECT id
29+
FROM project_versions
30+
WHERE prerelease = false
31+
AND released_at IS NULL
32+
AND deleted_at IS NULL
33+
LIMIT batch_size
34+
)
35+
RETURNING id
36+
)
37+
SELECT COUNT(*) INTO batch_size FROM updated;
38+
39+
total_updated := total_updated + batch_size;
40+
41+
-- Update the remaining count
42+
SELECT COUNT(*)
43+
INTO total_remaining
44+
FROM project_versions
45+
WHERE prerelease = false
46+
AND released_at IS NULL
47+
AND deleted_at IS NULL;
48+
49+
END LOOP;
50+
51+
END $$;

app/controlplane/pkg/data/ent/migrate/migrations/atlas.sum

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
h1:SbJMyd1Na23ALCFwTq0rcVW1zSPsD4bVBvBuO1xOfuA=
1+
h1:kHHOXwsUSBDWcPMgT0oP6T775JumT5LvJuzdq65oAzE=
22
20230706165452_init-schema.sql h1:VvqbNFEQnCvUVyj2iDYVQQxDM0+sSXqocpt/5H64k8M=
33
20230710111950-cas-backend.sql h1:A8iBuSzZIEbdsv9ipBtscZQuaBp3V5/VMw7eZH6GX+g=
44
20230712094107-cas-backends-workflow-runs.sql h1:a5rzxpVGyd56nLRSsKrmCFc9sebg65RWzLghKHh5xvI=
@@ -115,3 +115,4 @@ h1:SbJMyd1Na23ALCFwTq0rcVW1zSPsD4bVBvBuO1xOfuA=
115115
20250908160222.sql h1:bNjptbt2xPpSXqa4eVuWkMnovHt9LMkiakoGrFGZJ0g=
116116
20251001215533.sql h1:+IdTm9OSW1r5nDH1fX2hpia/q0UzklPrDy3SDN3S0dg=
117117
20251001215625.sql h1:adcp5r8CoL/JCfNgNZxBvY5pczlEHFH/IX64g/ji/4s=
118+
20251007154203.sql h1:gRPipCNWs439gStSXVDxoSLqTw4SUPMiOe5fK1Y5V1Q=

0 commit comments

Comments
 (0)