Skip to content

Commit ed792fb

Browse files
authored
fix(DB): cleanup items on organization deletion (#423)
Signed-off-by: Miguel Martinez Trivino <[email protected]>
1 parent e1b519f commit ed792fb

File tree

5 files changed

+14
-9
lines changed

5 files changed

+14
-9
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-- Modify "cas_mappings" table
2+
ALTER TABLE "cas_mappings" DROP CONSTRAINT "cas_mappings_cas_backends_cas_backend", DROP CONSTRAINT "cas_mappings_organizations_organization", DROP CONSTRAINT "cas_mappings_workflow_runs_workflow_run", ADD CONSTRAINT "cas_mappings_cas_backends_cas_backend" FOREIGN KEY ("cas_mapping_cas_backend") REFERENCES "cas_backends" ("id") ON UPDATE NO ACTION ON DELETE CASCADE, ADD CONSTRAINT "cas_mappings_organizations_organization" FOREIGN KEY ("cas_mapping_organization") REFERENCES "organizations" ("id") ON UPDATE NO ACTION ON DELETE CASCADE, ADD CONSTRAINT "cas_mappings_workflow_runs_workflow_run" FOREIGN KEY ("cas_mapping_workflow_run") REFERENCES "workflow_runs" ("id") ON UPDATE NO ACTION ON DELETE CASCADE;
3+
-- Modify "org_invitations" table
4+
ALTER TABLE "org_invitations" DROP CONSTRAINT "org_invitations_organizations_organization", ADD CONSTRAINT "org_invitations_organizations_organization" FOREIGN KEY ("organization_id") REFERENCES "organizations" ("id") ON UPDATE NO ACTION ON DELETE CASCADE;

app/controlplane/internal/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:umLlSIQCvc7uyWfzCSY6x/ZzSF4Bm5/ahIM7HN5y1b8=
1+
h1:5aUIvgmC3yamqOydvpGyxXZrwkoXCMOmXpk3tKjU0wc=
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=
@@ -10,3 +10,4 @@ h1:umLlSIQCvc7uyWfzCSY6x/ZzSF4Bm5/ahIM7HN5y1b8=
1010
20230905084357.sql h1:VNLRcY8vRDq5WoHv6JqBMr8HCkxLxr0LFWQzvqVRTYk=
1111
20230914221336.sql h1:MCsBIxQ6Ow1BEhCNEF0QfAkUJxPSPxJ4l5DyAOuKLlc=
1212
20231031124431.sql h1:HxWLbK4otq1uvGWKqngAHcOL+8G+qHbFnhRfLZCboBQ=
13+
20231108214833.sql h1:FWxUM9xcTv2Lt6YoR9zWhhcEIQl9dHswfd/P9dAKhWk=

app/controlplane/internal/data/ent/migrate/schema.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,19 +56,19 @@ var (
5656
Symbol: "cas_mappings_cas_backends_cas_backend",
5757
Columns: []*schema.Column{CasMappingsColumns[3]},
5858
RefColumns: []*schema.Column{CasBackendsColumns[0]},
59-
OnDelete: schema.NoAction,
59+
OnDelete: schema.Cascade,
6060
},
6161
{
6262
Symbol: "cas_mappings_workflow_runs_workflow_run",
6363
Columns: []*schema.Column{CasMappingsColumns[4]},
6464
RefColumns: []*schema.Column{WorkflowRunsColumns[0]},
65-
OnDelete: schema.SetNull,
65+
OnDelete: schema.Cascade,
6666
},
6767
{
6868
Symbol: "cas_mappings_organizations_organization",
6969
Columns: []*schema.Column{CasMappingsColumns[5]},
7070
RefColumns: []*schema.Column{OrganizationsColumns[0]},
71-
OnDelete: schema.NoAction,
71+
OnDelete: schema.Cascade,
7272
},
7373
},
7474
Indexes: []*schema.Index{
@@ -189,7 +189,7 @@ var (
189189
Symbol: "org_invitations_organizations_organization",
190190
Columns: []*schema.Column{OrgInvitationsColumns[5]},
191191
RefColumns: []*schema.Column{OrganizationsColumns[0]},
192-
OnDelete: schema.NoAction,
192+
OnDelete: schema.Cascade,
193193
},
194194
{
195195
Symbol: "org_invitations_users_sender",

app/controlplane/internal/data/ent/schema/casmapping.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ func (CASMapping) Fields() []ent.Field {
4444

4545
func (CASMapping) Edges() []ent.Edge {
4646
return []ent.Edge{
47-
edge.To("cas_backend", CASBackend.Type).Unique().Required().Immutable(),
48-
edge.To("workflow_run", WorkflowRun.Type).Unique().Immutable(),
49-
edge.To("organization", Organization.Type).Unique().Required().Immutable(),
47+
edge.To("cas_backend", CASBackend.Type).Unique().Required().Immutable().Annotations(entsql.Annotation{OnDelete: entsql.Cascade}),
48+
edge.To("workflow_run", WorkflowRun.Type).Unique().Immutable().Annotations(entsql.Annotation{OnDelete: entsql.Cascade}),
49+
edge.To("organization", Organization.Type).Unique().Required().Immutable().Annotations(entsql.Annotation{OnDelete: entsql.Cascade}),
5050
}
5151
}
5252

app/controlplane/internal/data/ent/schema/orginvitation.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func (OrgInvitation) Fields() []ent.Field {
5151

5252
func (OrgInvitation) Edges() []ent.Edge {
5353
return []ent.Edge{
54-
edge.To("organization", Organization.Type).Unique().Required().Field("organization_id"),
54+
edge.To("organization", Organization.Type).Unique().Required().Field("organization_id").Annotations(entsql.Annotation{OnDelete: entsql.Cascade}),
5555
edge.To("sender", User.Type).Unique().Required().Field("sender_id"),
5656
}
5757
}

0 commit comments

Comments
 (0)