add transactional when upload all data, and using delete instead of
truncate