diff --git a/app/controlplane/pkg/data/ent/migrate/migrations/20250820171503.sql b/app/controlplane/pkg/data/ent/migrate/migrations/20250820171503.sql new file mode 100644 index 000000000..ea310fcfe --- /dev/null +++ b/app/controlplane/pkg/data/ent/migrate/migrations/20250820171503.sql @@ -0,0 +1,34 @@ +-- Fix projects that don't have a latest version set +-- Find projects that have project_versions but no latest version marked +WITH projects_without_latest AS ( + SELECT DISTINCT pv.project_id + FROM project_versions pv + WHERE pv.deleted_at IS NULL + AND pv.project_id NOT IN ( + SELECT DISTINCT project_id + FROM project_versions + WHERE latest = true + AND deleted_at IS NULL + ) +), +-- Get the most recent version for each project that doesn't have a latest +latest_for_missing AS ( + SELECT + pv.id, + pv.project_id, + ROW_NUMBER() OVER ( + PARTITION BY pv.project_id + ORDER BY pv.created_at DESC, pv.id DESC + ) as rn + FROM project_versions pv + INNER JOIN projects_without_latest pwl ON pv.project_id = pwl.project_id + WHERE pv.deleted_at IS NULL +) +-- Update only the most recent version for projects missing a latest version +UPDATE project_versions +SET latest = true +WHERE id IN ( + SELECT id + FROM latest_for_missing + WHERE rn = 1 +); \ No newline at end of file diff --git a/app/controlplane/pkg/data/ent/migrate/migrations/atlas.sum b/app/controlplane/pkg/data/ent/migrate/migrations/atlas.sum index fee7f0eec..03aeaba8c 100644 --- a/app/controlplane/pkg/data/ent/migrate/migrations/atlas.sum +++ b/app/controlplane/pkg/data/ent/migrate/migrations/atlas.sum @@ -1,4 +1,4 @@ -h1:x6Aaqyf5LL8bB+ApOOevCGz3+dZFPb31NMn1U3QT8ek= +h1:4z4jm6qLVBYu2xAWiD/YxRpstDC0Boyza8y/i5cc1SE= 20230706165452_init-schema.sql h1:VvqbNFEQnCvUVyj2iDYVQQxDM0+sSXqocpt/5H64k8M= 20230710111950-cas-backend.sql h1:A8iBuSzZIEbdsv9ipBtscZQuaBp3V5/VMw7eZH6GX+g= 20230712094107-cas-backends-workflow-runs.sql h1:a5rzxpVGyd56nLRSsKrmCFc9sebg65RWzLghKHh5xvI= @@ -109,3 +109,4 @@ h1:x6Aaqyf5LL8bB+ApOOevCGz3+dZFPb31NMn1U3QT8ek= 20250808165202.sql h1:Oreh9FpYwo/cdcs3Oza/+ACzScXeTRBGIEvua8RqoLo= 20250812111458.sql h1:15yQlZoBymYR5GEjGLtV/j4ZZjg06u6eEzcRRl7vax4= 20250820090420.sql h1:xmJucXMVs+JyXWmyHu7Rv31hhgtAONDTv1mT/sTaJKk= +20250820171503.sql h1:SsLD5Tf6woeFE7/FLI9XVQpnEgx4CJ9d7fWwNOZvOrA=