def initialize_migration(self, request, database_id): from region_migration.models import DatabaseRegionMigration database = Database.objects.get(id=database_id) url = reverse( 'admin:region_migration_databaseregionmigration_changelist') region_migration = DatabaseRegionMigration(database=database, current_step=0,) if database.is_in_quarantine: self.message_user( request, "Database in quarantine and cannot be migrated", level=messages.ERROR) return HttpResponseRedirect(url) if database.status != Database.ALIVE or not database.database_status.is_alive: self.message_user( request, "Database is dead and cannot be migrated", level=messages.ERROR) return HttpResponseRedirect(url) if database.has_migration_started(): self.message_user( request, "Database {} is already migrating".format(database.name), level=messages.ERROR) return HttpResponseRedirect(url) try: region_migration.save() self.message_user(request, "Migration for {} started!".format( database.name), level=messages.SUCCESS) except IntegrityError, e: self.message_user(request, "Database {} is already migrating!".format( database.name), level=messages.ERROR)
def multiple_initialize_migration(self, queryset, request, instances): from region_migration.models import DatabaseRegionMigration url = reverse('admin:region_migration_databaseregionmigration_changelist') for database in instances: region_migration = DatabaseRegionMigration(database=database, current_step=0, ) try: region_migration.save() except IntegrityError: pass self.message_user( request, "Migration for selected database(s) started!", level=messages.SUCCESS) return HttpResponseRedirect(url)
def initialize_migration(self, request, database_id): from region_migration.models import DatabaseRegionMigration database = Database.objects.get(id=database_id) url = reverse( 'admin:region_migration_databaseregionmigration_changelist') region_migration = DatabaseRegionMigration( database=database, current_step=0, ) if database.is_in_quarantine: self.message_user(request, "Database in quarantine and cannot be migrated", level=messages.ERROR) return HttpResponseRedirect(url) if database.status != Database.ALIVE or not database.database_status.is_alive: self.message_user(request, "Database is dead and cannot be migrated", level=messages.ERROR) return HttpResponseRedirect(url) if database.has_migration_started(): self.message_user(request, "Database {} is already migrating".format( database.name), level=messages.ERROR) return HttpResponseRedirect(url) try: region_migration.save() self.message_user(request, "Migration for {} started!".format( database.name), level=messages.SUCCESS) except IntegrityError, e: self.message_user(request, "Database {} is already migrating!".format( database.name), level=messages.ERROR)
def multiple_initialize_migration(self, queryset, request, instances): from region_migration.models import DatabaseRegionMigration url = reverse( 'admin:region_migration_databaseregionmigration_changelist') for database in instances: region_migration = DatabaseRegionMigration( database=database, current_step=0, ) try: region_migration.save() except IntegrityError: pass self.message_user(request, "Migration for selected database(s) started!", level=messages.SUCCESS) return HttpResponseRedirect(url)