@@ -180,17 +180,21 @@ func CountOrphanedLabels() (int64, error) {
180
180
}
181
181
182
182
norepo , err := x .Table ("label" ).
183
- Join ("LEFT" , "repository" , "label.repo_id=repository.id" ).
184
- Where (builder.IsNull {"repository.id" }).And (builder.Gt {"label.repo_id" : 0 }).
185
- Count ("id" )
183
+ Where (builder .And (
184
+ builder.Gt {"repo_id" : 0 },
185
+ builder .NotIn ("repo_id" , builder .Select ("id" ).From ("repository" )),
186
+ )).
187
+ Count ()
186
188
if err != nil {
187
189
return 0 , err
188
190
}
189
191
190
192
noorg , err := x .Table ("label" ).
191
- Join ("LEFT" , "`user`" , "label.org_id=`user`.id" ).
192
- Where (builder.IsNull {"`user`.id" }).And (builder.Gt {"label.org_id" : 0 }).
193
- Count ("id" )
193
+ Where (builder .And (
194
+ builder.Gt {"org_id" : 0 },
195
+ builder .NotIn ("org_id" , builder .Select ("id" ).From ("user" )),
196
+ )).
197
+ Count ()
194
198
if err != nil {
195
199
return 0 , err
196
200
}
@@ -206,17 +210,21 @@ func DeleteOrphanedLabels() error {
206
210
}
207
211
208
212
// delete labels with none existing repos
209
- if _ , err := x .In ("id" , builder .Select ("label.id" ).From ("label" ).
210
- Join ("LEFT" , "repository" , "label.repo_id=repository.id" ).
211
- Where (builder.IsNull {"repository.id" }).And (builder.Gt {"label.repo_id" : 0 })).
213
+ if _ , err := x .
214
+ Where (builder .And (
215
+ builder.Gt {"repo_id" : 0 },
216
+ builder .NotIn ("repo_id" , builder .Select ("id" ).From ("repository" )),
217
+ )).
212
218
Delete (Label {}); err != nil {
213
219
return err
214
220
}
215
221
216
222
// delete labels with none existing orgs
217
- if _ , err := x .In ("id" , builder .Select ("label.id" ).From ("label" ).
218
- Join ("LEFT" , "`user`" , "label.org_id=`user`.id" ).
219
- Where (builder.IsNull {"`user`.id" }).And (builder.Gt {"label.org_id" : 0 })).
223
+ if _ , err := x .
224
+ Where (builder .And (
225
+ builder.Gt {"org_id" : 0 },
226
+ builder .NotIn ("org_id" , builder .Select ("id" ).From ("user" )),
227
+ )).
220
228
Delete (Label {}); err != nil {
221
229
return err
222
230
}
@@ -227,15 +235,14 @@ func DeleteOrphanedLabels() error {
227
235
// CountOrphanedIssueLabels return count of IssueLabels witch have no label behind anymore
228
236
func CountOrphanedIssueLabels () (int64 , error ) {
229
237
return x .Table ("issue_label" ).
230
- Join ( "LEFT " , "label" , "issue_label.label_id = label.id" ).
231
- Where (builder. IsNull { "label.id" }). Count ()
238
+ NotIn ( "label_id " , builder . Select ( "id" ). From ( " label" ) ).
239
+ Count ()
232
240
}
233
241
234
242
// DeleteOrphanedIssueLabels delete IssueLabels witch have no label behind anymore
235
243
func DeleteOrphanedIssueLabels () error {
236
- _ , err := x .In ("id" , builder .Select ("issue_label.id" ).From ("issue_label" ).
237
- Join ("LEFT" , "label" , "issue_label.label_id = label.id" ).
238
- Where (builder.IsNull {"label.id" })).
244
+ _ , err := x .
245
+ NotIn ("label_id" , builder .Select ("id" ).From ("label" )).
239
246
Delete (IssueLabel {})
240
247
241
248
return err
0 commit comments