2017-11-01 1 views
0

몇 가지 git 브랜치가있는 레일즈 애플리케이션에서 작업하고 있습니다. Capistrano :: Rails를 사용하여 프로덕션 모드를 배포합니다.레일에서 개발 모드로 데이터베이스 마이그레이션 후 프로덕션 모드에서 모든 데이터를 잃지 않는 방법

현재 나에게 어려움을 겪고있는 것은 분기의 사용자 테이블에 몇 개의 열을 추가 및 삭제하고이를 master 분기에 병합 한 후 rake db:schema:load입니다. 따라서 개발 모드의 데이터베이스가 재설정되고 모든 데이터가 손실됩니다 (괜찮습니다). 그러나 프로덕션 모드에서 모든 데이터를 잃고 싶지는 않습니다. 프로덕션 데이터베이스에서 사용자 테이블의 데이터 손실을 수용 할 수는 있지만 프로덕션 모드에서 다른 테이블의 데이터를 잃고 싶지는 않습니다.

그럼 어떻게해야합니까?

우리는 현재 aws RDS에서 PostgreSQL을 사용하고 있습니다.

+0

단순히 rake db : migrate를 실행하여 과거 데이터를 물론 삭제하지 않을 새 열을 마이그레이션해야합니다 당신이 삭제 한 칼럼에있는 것들 – Cyzanfar

답변

1

ActiveRecord migrations이 목적으로 작성되었습니다. rake db:schema:load을 실행하는 대신 데이터베이스를 이전을 통해 변경하고 rake db:migrate (또는 Rails 5의 경우 rails db:migrate)

+0

고맙습니다. 그것은 작동합니다. – GavinLuo

관련 문제