Rails 3에서 마이그레이션 파일을 삭제하는 방법
마이그레이션 파일을 제거 / 삭제하고 싶습니다. 어떻게할까요? 여기에 비슷한 질문이 있다는 것을 알고 있지만 업데이트로서 스크립트 / 파괴를 수행하는 것보다 더 좋은 방법이 있습니까?
또한, 나는 어떻게해야 db:reset
하거나 db:drop
내가 제거하면 / 마이그레이션을 삭제 하시겠습니까?
나는 보통:
rake db:migrate VERSION=XXX
모든 환경에서 삭제하려는 이전 버전으로 수행하십시오 .- 마이그레이션 파일을 수동으로 삭제하십시오.
- 보류중인 마이그레이션이있는 경우 (예 : 제거한 마이그레이션이 마지막 마이그레이션이 아님)
rake db:migrate
다시 새로 수행 합니다.
애플리케이션이 이미 프로덕션 또는 스테이징에있는 경우 테이블 또는 열을 파괴하는 다른 마이그레이션을 작성하는 것이 더 안전합니다.
마이그레이션에 대한 또 다른 훌륭한 참고 자료 : http://guides.rubyonrails.org/migrations.html
마이그레이션을 삭제하는 또 다른 방법 :
$ rails d migration SameMigrationNameAsUsedToGenerate
rake db:migrate
데이터베이스의 변경 사항이 영원히 유지되기 때문에 실행 전에 사용하십시오 :)-또는 수동으로 변경 사항을 제거하십시오.
앱의 홈 디렉토리에서 아래 명령을 실행하십시오.
rake db:migrate:down VERSION="20140311142212"
(여기서 version은 마이그레이션이 생성 될 때 rails 앞에 붙인 타임 스탬프입니다.이 작업은이 마이그레이션으로 인한 DB 변경 사항을 되돌립니다.)Run "rails destroy migration migration_name"
(migration_name은 마이그레이션을 만드는 동안 선택한 용도입니다. 가져 오려면 마이그레이션 파일 이름에서 " timestamp_ "를 제거하십시오. )
마이그레이션을
rake db:migrate:down VERSION=versionnumber
우리는 사용할 수 있습니다.
$ rails d migration table_name
마이그레이션이 삭제됩니다.
때때로 마이그레이션 파일을 삭제 한 다음 데이터베이스에서 schema_migrations 테이블의 해당 항목을 삭제하는 경우가있었습니다. 예쁘지는 않지만 작동합니다.
4.1 롤백 살펴보기
http://guides.rubyonrails.org/migrations.html
$ rake db : rollback
나는 똑같은 문제가 있었다.
- rails d migration fuu- 마지막 타임 스탬프로 마이그레이션을 삭제했습니다.
- rails d migration fuu- 이것은 다른 마이그레이션을 삭제했습니다.
- git status를 사용하여 더 이상 추적되지 않은 파일에 없는지 확인하십시오.
- rails g 마이그레이션 fuu
그것은 나를 위해 그것을 고쳤습니다.
삭제하려는 마이그레이션이 누락 되었기 때문에이 답변 중 어느 것도 내가 가진 문제에 맞지 않습니다. 다른 브랜치에서 마이그레이션을 만들고 실행 한 후 폐기되었습니다. 문제는 마이그레이션이 실행될 때 rails가 schema_migrations
데이터베이스 의 테이블에 버전을 추가한다는 것 입니다. 따라서 db 구조 또는 스키마에 나열되어 있지 않더라도 rails는 그것을 찾습니다. 다음을 실행하여 이러한 분리 된 마이그레이션을 표시 할 수 있습니다.
rails db:migrate:status
누락 된 마이그레이션의 버전을 확인하고 db 콘솔로 이동하십시오.
rails dbconsole
이제 마이그레이션 테이블에서 수동으로 버전을 제거하십시오.
delete from schema_migrations where version='<version>';
이제 잘해야합니다.
이것은 Rails 5에서도 작동합니다.
마이그레이션이 가장 최근 인 경우 다음을 수행하여 마이그레이션이 추가 한 데이터베이스 열을 제거 할 수 있습니다.
rake db:rollback
그런 다음 다음을 실행하여 마이그레이션 파일 자체를 제거하십시오.
rails d migration WhateverYourMigrationWasNamed.rb
참고 URL : https://stackoverflow.com/questions/3872586/how-to-delete-migration-files-in-rails-3
'developer tip' 카테고리의 다른 글
JavaScript에서 null이거나 정의되지 않은 경우 값을 대체합니다. (0) | 2020.08.11 |
---|---|
파이썬에서 부울을 어떻게 사용합니까? (0) | 2020.08.11 |
Haskell : Where vs. Let (0) | 2020.08.10 |
만드는 방법 (0) | 2020.08.10 |
Java의 Thread.sleep은 언제 InterruptedException을 발생합니까? (0) | 2020.08.10 |