Added deletion of labels metadata on release deletion

Signed-off-by: Dmitry Chepurovskiy <dm3ch@dm3ch.net>
pull/8546/head
Dmitry Chepurovskiy 5 years ago
parent 478271fa5a
commit e1b6651135
No known key found for this signature in database
GPG Key ID: A9B6ED8F3D834514

@ -152,7 +152,7 @@ func (s *SQL) ensureDBSetup() error {
}, },
{ {
Id: "labels", Id: "labels",
Up: []string{"CREATE TABLE labels (release_key VARCHAR(67), key VARCHAR(64), value VARCHAR(67));"}, Up: []string{"CREATE TABLE labels (release_key VARCHAR(67), release_namespace VARCHAR(67), key VARCHAR(64), value VARCHAR(67));"},
Down: []string{"DELETE TABLE labels;"}, Down: []string{"DELETE TABLE labels;"},
}, },
}, },
@ -410,11 +410,13 @@ func (s *SQL) Create(key string, rls *rspb.Release) error {
Insert("labels"). Insert("labels").
Columns( Columns(
"release_key", "release_key",
"release_namespace",
"key", "key",
"value", "value",
). ).
Values( Values(
key, key,
namespace,
lk, lk,
lv, lv,
).ToSql() ).ToSql()
@ -516,10 +518,25 @@ func (s *SQL) Delete(key string) (*rspb.Release, error) {
Where(sq.Eq{sqlReleaseTableNamespaceColumn: s.namespace}). Where(sq.Eq{sqlReleaseTableNamespaceColumn: s.namespace}).
ToSql() ToSql()
if err != nil { if err != nil {
s.Log("failed to build select query: %v", err) s.Log("failed to build delete query: %v", err)
return nil, err
}
if _, err = transaction.Exec(deleteQuery, args...); err != nil {
return release, err
}
deleteLabelsQuery, args, err := s.statementBuilder.
Delete("labels").
Where(sq.Eq{"release_key": key}).
Where(sq.Eq{"release_namespace": s.namespace}).
ToSql()
if err != nil {
s.Log("failed to build delete labels query: %v", err)
return nil, err return nil, err
} }
_, err = transaction.Exec(deleteQuery, args...) _, err = transaction.Exec(deleteLabelsQuery, args...)
return release, err return release, err
} }

Loading…
Cancel
Save