2013-06-20 4 views
0

github에 적용되고 커밋 된 마이그레이션이 있습니다. 여기에는 "down"을 수행하는 사용자 정의 코드가 들어 있습니다. 사실, "down"메소드는 비어 있습니다. db를 삭제할 수 있으며 데이터가 많지 않으므로 ok입니다.이전을 위해 실행 취소합니다.

이제이 마이그레이션을 변경해야합니다. 특히이 변경을 완전히 변경해야합니다. 그래서 나는 어떻게 든 그것을 원상태로 돌리고, github에 투입하고, 우리 명령의 다른 회원이 그것을 적용 할 수있게 할 필요가있다.

어떻게하면됩니까?

마지막 마이그레이션이 아니며 다른 이후도있었습니다.

답변

2

최선의 방법은 실행 취소를 수행하고 인 새로운 마이그레이션을 작성하는 것입니다. 제가 모으는 것처럼, 마이그레이션은 새로운 데이터베이스를 생성하는 것이 아니라 기존 데이터베이스를 변경하는 것입니다. 이것이 마이그레이션과 db/schema.rb의 두 가지 변경 사항을 가지고있는 이유이며 실제로 일부 마이그레이션은 이전 마이그레이션을 제거 할 것을 제안합니다.

2

새 마이그레이션을 만들거나 해당 마이그레이션을 변경하고 적용하기 전에 롤백을 수행 할 수 있습니다. 다음과 같이 VERSION을 사용하십시오.

rake db : migrate # 데이터베이스 마이그레이션 (옵션 : VERSION = x, VERBOSE = false).

rake db:migrate VERSION=x 
change your migration file 
git commit 
rake db:migrate 
+0

내 명령의 모든 구성원이 자동으로 수행하도록하려면 어떻게해야합니까? –

관련 문제