본문 바로가기

2018/09/25

(Pytest) mongoengine + factoryboy 조합으로 사용할 때, 데이터 리셋시키기 mongoengine + factory boy 조합 문제점 원래 factoryboy를 쓰면, 테스트 데이터가 롤백된다. 그런데 mongoengine을 factory boy로 매핑해서 사용하면, 데이터가 롤백되지 않는다. mongo에 테스트 데이터가 계속 쌓인다. 해결방법 테스트코드가 돌때마다 몽고 디비를 drop 시키면 된다. ( 이렇게하면 몹시 느리다 ㅋ ) A. 몽고 DB Drop fixture 만들기 ### FILE: fixtures.py import pytest import mongoengine as me @pytest.fixture(scope=’function’) def mongo(request): db = me.connect(‘testdb’, host=’mongodb://localhost’) ..
(Draw.io) 온라인 다이어그램 툴 https://www.draw.io/여기 들어가서 그리면 된다 ㅎㅅㅎ XML으로 저장해두고, 나중에 재수정해서 쓸 수도 있다. 요런식으로 그려다가 쓰면 된다 ㅎㅅㅎ
(ElasticSearch) 엘라스틱서치에 데이터 싱크하기 ( 4 ) - 안티패턴과 멱등성 관리 이 글은 [elastic] Keeping Elasticsearch in Sync 문서를 정리한 글 입니다 ㅎㅅㅎ 엘라스틱서치에 원본 데이터를 싱크할 때, 주의해야하는 점이 있다. Why Marking Source Records is an Anti-Pattern엘라스틱서치 인덱싱 필요 여부를 체크하는 방법 중, 원본 테이블에 필드를 하나 추가하는 방법이 있다. 그런데 이건 안티패턴이다. 하면 안된다. 안티패턴인 이유 1. 엘라스틱서치 데이터 복제와 원본 데이터 간의 커플링이 높아진다. 그러면 유지보수가 어렵다. - 장애로 실제 인덱싱 여부와 원본 데이터에 저장된 인덱싱 여부가 달라질 수도 있다. 2. 전체 테이블을 재인덱싱해야하는 경우, 전체 테이블을 업데이트해줘야한다. UPDATE SET reindex=..