Я использую «upsert» для обновления / вставки данных в мою базу данных pg, используя SQLAlchemy в качестве ORM, вызывая on_conflict_do_update
. Я также использую SQLAlchemy-Continuum , чтобы отслеживать изменения (обновления), которые я делаю.
для idx, чанк в перечислении (чанки): print ('chunk index:', idx)
stmt = insert(Flight).values(
chunk.to_dict(orient='records'))
on_update_stmt = stmt.on_conflict_do_update(
index_elements=['flight_id'],
set_={c.key: c for c in stmt.excluded if c.key not in ['id', 'created_at', 'updated_at']})
db.session.execute(on_update_stmt)
db.session.commit()
Проблема в том, что SQLAlchemy-Continuum не собирает обновления, которые я делаю: новая строка не добавляется в таблицу версий.
Любая идея, что может быть неправым?