def save(self, session=None): """Save this object""" # import api here to prevent circular dependency problem import glance.db.sqlalchemy.api as db_api session = session or db_api._get_session() session.add(self) session.flush()
def seed(period_length): start = get_period_start(datetime.datetime.utcnow(), period_length) db_api.setup_db_env() session = db_api._get_session() print "Populating active image usages" usages = _get_usages(start, session) if usages: print "Saving active image images" active_images = map(lambda x: models.ImageUsage(**x), usages) models.ImageUsage.objects.bulk_create(active_images, batch_size=100) print "Populating image deletes" deletes = _get_deletes(start, session) if deletes: print "Saving image deletes" deleted_images = map(lambda x: models.ImageDeletes(**x), deletes) models.ImageDeletes.objects.bulk_create(deleted_images, batch_size=100) print "Seeding completed" return len(usages), len(deletes)