Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)