동일한 응용 프로그램의 서로 다른 버전간에 데이터를 마이그레이션하는 데 도움이되는 python 스크립트를 작성하려고합니다.두 개의 다른 데이터베이스에서 동일한 테이블을 비교하는 Python 스크립트
내가 시작하기 전에 비슷한 것을하는 스크립트 나 모듈이 있는지 알고 싶습니다. 적어도 내 것을 사용하기 시작하거나 사용할 수 있습니다. 아이디어는 특정 테이블간에 데이터를 diff 한 다음 이전 버전 데이터베이스에 적용 할 SQL INSERT 문으로 diff를 저장하는 것입니다.
참고 : 스키마의 얼굴이
는 일반적으로 논리가
def diff_table(table1, table2):
# return all rows in table 2 that are not in table1
pass
def persist_rows_tofile(rows, tablename):
# save rows to file
pass
dbnames=('db.v1', 'db.v2')
tables_to_process = ('foo', 'foobar')
for table in tables_to_process:
table1 = dbnames[0]+'.'+table
table2 = dbnames[1]+'.'+table
rows = diff_table(table1, table2)
if len(rows):
persist_rows_tofile(rows, table)
의 라인을 따라 뭔가 될 변화에이 스크립트는 강력한되지 않습니다는 스크립트를 작성하는 좋은 방법이 아니면 할 수 그것은 개선 될 것인가?. 데이터베이스 연결 등을 캐싱하여 향상시킬 수 있을지 의심됩니다 (SqlAlchemy 등에 익숙하지 않기 때문에 제외되었습니다).
SqlAlchemy를 추가하고 일반적으로 그러한 스크립트를 향상시키는 방법에 대한 팁은 무엇입니까?
공유 주셔서 감사합니다. 새로운 게시 URL을 알고 계십니까? 당신이 참조하는 페이지에서 일부 링크가 깨졌습니다. – Remco