0

제 모델은 postgresql 위에 flask-sqlalchemy로 만들어졌습니다. 내 모델의 변경 사항을 추적하고 싶습니다. 플라스크 SQLALchemy에서 'History Table로 버전 관리'하는 방법. 약간의 코드 예제가 바람직합니다.

는 전 직원 테이블이 :

class Employee(db.Model): 
__tablename__ = 'employees' 

id   = db.Column(db.Integer, primary_key=True) 
name   = db.Column(db.String(60)) 
job_title   = db.Column(db.String(60)) 
job_type  = db.Column(db.String(60)) # teaching, IT, manager, 
job_location = db.Column(db.String(60)) 
salary  = db.Column(db.Numeric(15,2)) 

직원의 특정 제목의 급여 dec 2014에서 35K에 30K 증가 및 jan 2016에서 40K에 있습니다.

그리고 내 응용 프로그램의 다른 부분에서는 수익 및 대차 대조표를 계산하는 동안 위의 employees.salary이 수식에 사용됩니다. 그래서 나는 지난 연봉 30k를 dec 2014 전에 날짜가 포함 된 계산에 사용할 수 있어야하고 이후 35k는 최대 jan 2016까지 사용할 수 있어야합니다. 이 예제와 관련된 코드에 대한 자세한 대답은 매우 높이 평가됩니다. 감사합니다.

저는 행운이있는 곳 어디에서나이를 수행하는 방법을 찾고있었습니다. https://sqlalchemy-continuum.readthedocs.io/en/latest/

당신이 가진 데이터베이스의 모든 변경을 추적 할 수 있습니다 -

+0

이 질문은 너무 광범위합니다. 데이터베이스 테이블, 쿼리 및 코드를 디자인해야 지원할 수 있습니다. 이것은 몇 단락에서 잘 다룰 수있는 것이 아닙니다. 당신은 인터넷에서 모든 것을위한 완벽한 튜토리얼을 찾을 수 없습니다. 당신은 당신의 지식을 종합하여 더 큰 솔루션을 스스로 만들어 낼 수 있어야합니다. 이것은 또한 "gimme teh codez"질문이기도합니다. -1도 마찬가지입니다. – jpmc26

+0

나는 누군가에게 정확히 전체 코드를주지 않을 것이라고 기대하지 않았다. 내 예를 잊어 버려. 다른 SQL 기술자에서 'Historying with History Table'을 만들기위한 가이드 라인이 있지만 플라스크 sqlalchemy 문서 또는 플로우 오버 스택을 비롯한 다른 소스도 플라스크 연금술 (Flask alchemy)을 사용하여 수행하는 방법에 대한 답변이 없습니다. 내가 틀렸을지도 모른다). – ISONecroMAn

+0

나는 사람들이 더 잘 설명 할 수 있도록 간단한 예제 (완전히 가상의)를 포함시켰다. – ISONecroMAn

답변

2

당신은 문서 사용을 참조 ... 정말 멋진 this..its에 대한 SQLAlchemy의 연속체를 사용할 수 있습니다.