Мне нужно по работеэто не описание проблемы.
import hashlib
import psycopg2
import sqlite3
def calculate_md5(cursor, table_name):
cursor.execute(f'SELECT * FROM {table_name}')
rows = cursor.fetchall()
md5 = hashlib.md5()
for row in rows:
md5.update(str(row).encode('utf-8'))
return md5.hexdigest()
# SQLite
sqlite_conn = sqlite3.connect('source.db')
sqlite_cursor = sqlite_conn.cursor()
sqlite_md5 = calculate_md5(sqlite_cursor, 'source_table')
# PostgreSQL
pg_conn = psycopg2.connect(
dbname="target_db", user="user", password="password", host="localhost"
)
pg_cursor = pg_conn.cursor()
pg_md5 = calculate_md5(pg_cursor, 'target_table')
# Сравнение
if sqlite_md5 == pg_md5:
print("Контрольные суммы совпадают.")
else:
print("Контрольные суммы не совпадают.")