Ejemplo n.º 1
0
    def migrate(self, filename=None, reset=False, max_retry=2, chunk_size=100, limit_to_db=None):
        from corehq.apps.dump_reload.sql.dump import get_all_model_iterators_builders_for_domain

        if not self.domain:
            raise ExportError("Must specify domain")

        if os.path.exists(get_export_filename(self.slug, self.domain)):
            raise ExportError(
                "{} exporter doesn't support resume. "
                "To re-run the export use 'reset'".format(self.slug)
            )

        migrator = BlobDbBackendExporter(self.slug, self.domain)

        with migrator:
            builders = get_all_model_iterators_builders_for_domain(
                BlobMeta, self.domain, limit_to_db)
            for model_class, builder in builders:
                for iterator in builder.iterators():
                    for obj in iterator:
                        migrator.process_object(obj)
                        if migrator.total_blobs % chunk_size == 0:
                            print("Processed {} {} objects".format(migrator.total_blobs, self.slug))

        return migrator.total_blobs, 0
Ejemplo n.º 2
0
    def migrate(self,
                filename=None,
                reset=False,
                max_retry=2,
                chunk_size=100,
                limit_to_db=None):
        from corehq.apps.dump_reload.sql.dump import get_all_model_iterators_builders_for_domain

        if not self.domain:
            raise MigrationError("Must specify domain")

        if os.path.exists(get_export_filename(self.slug, self.domain)):
            raise MigrationError("{} exporter doesn't support resume. "
                                 "To re-run the export use 'reset'".format(
                                     self.slug))

        migrator = self.migrator_class(self.slug, self.domain)

        with migrator:
            builders = get_all_model_iterators_builders_for_domain(
                self.model_class, self.domain, limit_to_db)
            for model_class, builder in builders:
                for iterator in builder.iterators():
                    for obj in iterator:
                        migrator.process_object(obj)
                        if migrator.total_blobs % chunk_size == 0:
                            print("Processed {} {} objects".format(
                                migrator.total_blobs, self.slug))

        return migrator.total_blobs, 0
Ejemplo n.º 3
0
    def _migrate(self, migrator, chunk_size, limit_to_db):
        from corehq.apps.dump_reload.sql.dump import get_all_model_iterators_builders_for_domain

        builders = get_all_model_iterators_builders_for_domain(
            BlobMeta, self.domain, limit_to_db)
        for model_class, builder in builders:
            for iterator in builder.iterators():
                for obj in iterator:
                    migrator.process_object(obj)
                    if migrator.total_blobs % chunk_size == 0:
                        print("Processed {} {} objects".format(migrator.total_blobs, self.slug))