parent
d24e69df2d
commit
803a983126
3 changed files with 15 additions and 4 deletions
|
@ -7,8 +7,8 @@ from data.model import (DataModelException, tag, db_transaction, storage, image,
|
|||
_basequery, config)
|
||||
from data.database import (Repository, Namespace, RepositoryTag, Star, Image, ImageStorage, User,
|
||||
Visibility, RepositoryPermission, TupleSelector, RepositoryActionCount,
|
||||
Role, RepositoryAuthorizedEmail, db_for_update, get_epoch_timestamp,
|
||||
db_random_func)
|
||||
Role, RepositoryAuthorizedEmail, TagManifest, db_for_update,
|
||||
get_epoch_timestamp, db_random_func)
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
@ -43,6 +43,12 @@ def _purge_all_repository_tags(namespace_name, repository_name):
|
|||
except Repository.DoesNotExist:
|
||||
raise DataModelException('Invalid repository \'%s/%s\'' %
|
||||
(namespace_name, repository_name))
|
||||
|
||||
# Delete all manifests.
|
||||
repo_tags = RepositoryTag.select().where(RepositoryTag.repository == repo.id)
|
||||
TagManifest.delete().where(TagManifest.tag << repo_tags).execute()
|
||||
|
||||
# Delete all tags.
|
||||
RepositoryTag.delete().where(RepositoryTag.repository == repo.id).execute()
|
||||
|
||||
|
||||
|
|
Reference in a new issue