def import_channel_data(self):
unflushed_rows = 0
try:
for model in self.content_models:
mapping = self.schema_mapping.get(model, {})
row_mapper = self.generate_row_mapper(mapping.get('per_row'))
table_mapper = self.generate_table_mapper(mapping.get('per_table'))
logging.info('Importing {model} data'.format(model=model.__name__))
unflushed_rows = self.table_import(model, row_mapper, table_mapper, unflushed_rows)
self.destination.session.commit()
except SQLAlchemyError as e:
# Rollback the transaction if any error occurs during the transaction
self.destination.session.rollback()
# Reraise the exception to prevent other errors occuring due to the non-completion
raise e
评论列表
文章目录