drop_temp¶
- DBHose.drop_temp()¶
Удаляет промежуточную таблицу, если это разрешено настройками.
Описание:
Метод удаляет промежуточную таблицу, созданную ранее методом
create_temp(). Удаление выполняется только если атрибутdrop_temp_tableимеет значениеTrue. В противном случае метод логирует предупреждение о пропуске операции.Сигнатура:
def drop_temp(self) -> None: """Drop temp table."""
Примеры использования:
Базовый пример с удалением¶from dbhose_airflow import DBHose # Создаем объект с разрешением удаления (по умолчанию True) dbhose = DBHose( table_dest="public.users", connection_dest="postgres_target", drop_temp_table=True, # Разрешить удаление ) # Создаем временную таблицу dbhose.create_temp() # ... выполняем операции с данными ... # Удаляем временную таблицу dbhose.drop_temp()
Пример с отключенным удалением (для отладки)¶dbhose = DBHose( table_dest="analytics.events", connection_dest="clickhouse_analytics", drop_temp_table=False, # Запретить автоматическое удаление ) dbhose.create_temp() # ... операции ... dbhose.drop_temp() # Таблица НЕ будет удалена # Таблица останется в БД для последующего анализа
Обработка ошибок:
Метод использует
DROP TABLE IF EXISTS, который:Не вызывает ошибку, если таблица не существует
Безопасен для многократного вызова
Совместим со всеми поддерживаемыми СУБД
Рекомендации по использованию:
Для production:
# Всегда удаляйте временные таблицы dbhose = DBHose(..., drop_temp_table=True) try: dbhose.create_temp() # ... операции ... finally: dbhose.drop_temp() # Гарантированная очистка
Для разработки/отладки:
# Оставляйте таблицы для анализа dbhose = DBHose(..., drop_temp_table=False) dbhose.create_temp() # ... анализируйте созданную таблицу ... # Удалите вручную когда нужно # dbhose.drop_temp_table = True # dbhose.drop_temp()
См. также:
create_temp - Создание промежуточной таблицы