Модуль Python для обновления данных в БД — DBMerge
Хочу рассказать о своей разработке и поделиться ей с сообществом habr в виде готового модуля для Python.
Этот модуль решает задачу обновления данных в базе данных. Он выполняет insert/update/delete в одном действии.
Модуль DBMerge проектировался для упрощения ETL процессов по загрузке данных из множества внешних источников в SQL базу.
Для взаимодействия с базой данных используется SQLAlchemy и ее универсальные механизмы, таким образом, разработка не имеет привязки к конкретной БД. (На момент написания статьи, детальные тесты проводились для PostgreSQL, MariaDB, SQLite, MS SQL)
Принцип действия
Принцип действия следующий: модуль создает временную таблицу в базе и записывает в нее весь входящий датасет через операцию массового insert. Далее он выполняет инструкции UPDATE, INSERT, DELETE для целевой таблицы.
Читать далее