Контекст:
питона 3.6 скрипт Обновление SQLite БД При несколько раз в день, используя sqlite3 модуль.
База данных ~ 500Mo, каждое обновление добавляет ~ 250Ko.Создание базы данных SQLite заплаты при обновлении
Выпуск:
я передаю каждые обновленные версии базы данных и хотел бы, чтобы уменьшить размер передаваемых данных. Другими словами, я хотел бы передать только обновленный контент (через какой-то патч).
Для этого может быть использована служебная программа sqldiff.exe, тем не менее она требует создать локальную копию базы данных каждый раз, когда я ее обновляю.
Вопрос:
Есть ли способ, с помощью Python (через DB-API 2.0 interface или с использованием других способов в Python), для создания такого рода патч при обновлении базы данных?
Первые мысли:
Не было бы возможно написать патч ( например список действий, которые необходимо сделать, чтобы обновить базу данных) на основе курсора до/во время выполнения совершить?
import sqlite3
# Open database
conn = sqlite3.connect('mydb.db')
cur = conn.cursor()
# Insert/Update data
new_data = 3.14
cur.execute('INSERT INTO mytable VALUES (?)', (new_data,))
# KEEP TRACK & Save (commit) the changes
conn.dump_planned_actions() # ?????
conn.commit()
conn.close()
Расширение [расширение сеанса] (http://www.sqlite.org/sessionintro.html) не включено в Python. –
@CL. знаете ли вы обходные пути? благодаря –