다음 마이그레이션 파일이 있습니다 db\migrate\20100905201547_create_blocks.rb
해당 마이그레이션 파일을 구체적으로 롤백하려면 어떻게해야합니까?
답변
rake db:rollback STEP=1
롤백하려는 마이그레이션이 마지막으로 적용된 경우이를 수행하는 방법입니다. 되돌아 가고 싶은 많은 마이그레이션을 1 대신 사용할 수 있습니다.
예를 들면 다음과 같습니다.
rake db:rollback STEP=5
또한 나중에 발생한 모든 마이그레이션 (4, 3, 2 및 1)을 롤백합니다.
대상 마이그레이션으로 (그리고 포함하여) 모든 마이그레이션을 롤백하려면 다음을 사용하십시오.
rake db:migrate VERSION=20100905201547
하나의 특정 마이그레이션 (OUT OF ORDER) 만 롤백하려면 다음을 사용하십시오.
rake db:migrate:down VERSION=20100905201547
이렇게하면 진행중인 마이그레이션이 롤백되지 않으며 나열된 마이그레이션 만 롤백됩니다. 이것이 의도 한 것이 아닌 경우 안전하게 실행할 수 rake db:migrate
있으며 이전에 롤백되지 않은 다른 항목은 건너 뛰고 해당 항목 만 다시 실행합니다.
단일 마이그레이션을 순서대로 마이그레이션하지 않으려는 경우에는 반대의 결과도 있습니다 db:migrate:up
.
rake db:migrate:up VERSION=20100905201547
답변
rake db:migrate:down VERSION=20100905201547
특정 파일을 롤백합니다.
모든 마이그레이션 버전을 찾으려면 다음 명령을 사용할 수 있습니다.
rake db:migrate:status
또는 단순히 마이그레이션 파일 이름의 접두사가 롤백해야하는 버전입니다.
마이그레이션 에 대한 Ruby on Rails 안내서 항목 을 참조하십시오 .
답변
마지막 마이그레이션을 롤백하려면 다음을 수행하십시오.
rake db:rollback
버전으로 특정 마이그레이션을 롤백하려면 다음을 수행하십시오.
rake db:migrate:down VERSION=YOUR_MIGRATION_VERSION
예를 들어 버전이 20141201122027 인 경우 다음을 수행하십시오.
rake db:migrate:down VERSION=20141201122027
특정 마이그레이션을 롤백합니다.
답변
rake db:rollback
다른 옵션과 함께 사용하여 마이그레이션을 롤백 할 수 있습니다. 구문은 요구 사항에 따라 다릅니다.
마지막 마이그레이션 만 롤백하려면 다음 중 하나를 사용할 수 있습니다.
rake db:rollback
또는
rake db:rollback STEP=1
롤백 횟수의 마이그레이션을 한 번에 수행하려면 인수를 전달하면됩니다.
rake db:rollback STEP=n
어디 n
롤백에 대한 마이그레이션의 수는 최근 마이그레이션에서 계산이다.
특정 마이그레이션으로 롤백하려면 다음에서 마이그레이션 버전을 전달해야합니다.
rake db:migrate:down VERSION=xxxxx
여기서 xxxxx는 마이그레이션의 버전 번호입니다.
답변
rake db:migrate:down VERSION=your_migrations's_version_number_here
버전은 마이그레이션 파일 이름의 숫자 접두사입니다.
버전을 찾는 방법 :
마이그레이션 파일은 rails_root/db/migrate
디렉토리에 저장됩니다 . 롤백 할 적절한 파일을 찾고 접두사 번호를 복사하십시오.
예를 들어
파일 이름 : 20140208031131_create_roles.rb
그러면 버전은20140208031131
답변
마지막 마이그레이션 롤백 :
# rails < 5.0
rake db:rollback
# rails >= 5.0
rake db:rollback
# or
rails db:rollback
마지막 n
마이그레이션 횟수 롤백
# rails < 5.0
rake db:rollback STEP=2
# rails >= 5.0
rake db:rollback STEP=2
# or
rails db:rollback STEP=2
특정 마이그레이션 롤백
# rails < 5.0
rake db:migrate:down VERSION=20100905201547
# rails >= 5.0
rake db:migrate:down VERSION=20100905201547
# or
rails db:migrate:down VERSION=20100905201547
답변
마지막 마이그레이션을 롤백하려면 다음을 수행하십시오.
rake db:rollback
버전으로 특정 마이그레이션을 롤백하려면 다음을 수행하십시오.
rake db:migrate:down VERSION=YOUR_MIGRATION_VERSION
롤백하려는 마이그레이션 파일이 호출 된 경우 해당 마이그레이션 db/migrate/20141201122027_create_some_table.rb
의 버전은 해당 마이그레이션이 20141201122027
작성된 시간 소인이며 마이그레이션을 롤백하는 명령은 다음과 같습니다.
rake db:migrate:down VERSION=20141201122027