Source code for django_elasticsearch_dsl_drf.management.commands.elasticsearch_remove_indexes

from django.core.management.base import BaseCommand

from ...elasticsearch_helpers import delete_all_indices, get_all_indices


[docs]class Command(BaseCommand): help = 'Remove all indexes from Elasticsearch'
[docs] def add_arguments(self, parser): # Named (optional) arguments parser.add_argument( '--dry-run', action='store_true', dest='dry_run', default=False, help='Dry-run (no db writes)', ) parser.add_argument( '--with-protected', action='store_true', dest='with_protected', default=False, help='Including protected (for instance, kibana) indexes', )
[docs] def handle(self, *args, **options): dry_run = options.get('dry_run', False) with_protected = options.get('with_protected', False) if dry_run: indices = get_all_indices(with_protected=with_protected) print("The following indexes will be removed: {}".format(indices)) else: indices, errors = delete_all_indices(with_protected=with_protected) print("The following indexes are removed: {}".format(indices)) print( "The following indexes could not be removed: {}".format(errors) )