diff --git a/.gitignore b/.gitignore index 899966e..45c1ca3 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,6 @@ requirements/private.txt # Development task artifacts default.db + +.eggs/ +venv/ \ No newline at end of file diff --git a/django_elastic_migrations/apps.py b/django_elastic_migrations/apps.py index 31c36d7..86fde3b 100644 --- a/django_elastic_migrations/apps.py +++ b/django_elastic_migrations/apps.py @@ -18,4 +18,9 @@ class DjangoElasticMigrationsConfig(AppConfig): def ready(self): # avoid race condition with django app initialization from django_elastic_migrations.indexes import DEMIndexManager - DEMIndexManager.initialize(create_versions=True, activate_versions=True) + try: + DEMIndexManager.initialize(create_versions=True, activate_versions=True) + except ConnectionError as e: + return + except Exception as e: + raise e diff --git a/django_elastic_migrations/management/commands/es_dangerous_reset.py b/django_elastic_migrations/management/commands/es_dangerous_reset.py index 954361a..b53e354 100644 --- a/django_elastic_migrations/management/commands/es_dangerous_reset.py +++ b/django_elastic_migrations/management/commands/es_dangerous_reset.py @@ -1,6 +1,7 @@ from django.core.management import call_command from django_elastic_migrations import DEMIndexManager +from django_elastic_migrations import es_client from django_elastic_migrations.management.commands.es import ESCommand from django_elastic_migrations.models import Index from django_elastic_migrations.utils.django_elastic_migrations_log import get_logger @@ -31,6 +32,9 @@ def add_arguments(self, parser): def handle(self, *args, **options): es_only = options.get('es_only') + if not es_client or not es_client.ping(): + return + if es_only: msg = "Dangerously resetting Elasticsearch indexes from database in ./manage.py es_dangerous_reset --es-only!" logger.warning(msg)