프로그램에 기능 추가할 때 경우에 따라서는 다시 rollback 할 수 없는 경우도 존재한다. 데이터 자체가 변경되어버린 경우 돌아가는게 쉽지 않을 수도 있다. 

 오늘 아침에 출근해 보니 slack 으로 어제 수정한 것 다른 값으로 다시 수정해 달라는 요청이 들어왔다. 내가 미리 slack 으로 이렇게 하겠다고 말했는데도 불구하고 보고 있지 않다가 어제 서버에 반영한 후 다른 값으로 수정해 달라고 했다. 

좀 빨리 말했으면 sqlalchemy + alembic 의 마이그레이션 기능을 이용해서 쉽게 돌아갈 방법이 있었다. 그런데 그 후 또 다른 것들이 적용되어서 DB를 -2번 앞으로 가야 했다. 이러니까 좀 많이 복잡해졌다. 

  그래도 뭔가 데이터가 손실되는 것은 아니기 때문이 이리저리 처리 되었다. DB를 column 을 수동으로 삭제하고 DB 의 table view 값을 다시 수정하고, 이리 저리 수정할 것이 좀 있었다. 보통 이런 경우 사고가 터지기도 한다. 

 그러다 내가 너무 사용자 편의를 생각해서 이런 저런 것을 하다보니 내 일만 많아지는 것 같다는 생각이들었다. 어차피 이 프로젝트의 사용자는 내 회사 직원밖에 없는 사내 시스템인데. 
 이런 생각을 좋지 않는데, 이런 일을 겪다보면 수동적으로 변하는 것 같다. 이러만 안되는데.