When using the destination_truncate=True argument of DbToDbOperator, the operator first erases all data from the table, then tries to load. If the load is unsuccessful, data is lost. Data should be first loaded on a temporary table. Only after success should the old data be truncated.