나는 다음 마이그레이션과 파일 'db\migrate\ _create_blocks.rb' 20100905201547
해당 파일을 롤백에서 마이그레이션과 구체적으로 어떻게 해야 합니까?
rake db:rollback STEP=1
이 경우 할 수 있는 방법입니다 마이그레이션과 운영까지도 롤백하려면 가장 마지막에 적용된다. 그러나 대부분의 마이그레이션에는 갈래 백 1 을 대체할 수 있습니다.
예를 들면 다음과 같습니다.
rake db:rollback STEP=5
또한 모든 롤백에서 마이그레이션과 일어난 뒤 (2, 3, 4, 그리고 1).
모든 마이그레이션과 롤백합니다 뒤로를 타겟일 마이그레이션과 (및 포함) 를 사용합니다. (이 교정됨 명령을 오류를 지적한 후 주석이 추가된 모든 최초의 post)
rake db:migrate VERSION=20100905201547
하나만 롤백하려면 (OUT OF ORDER) 를 위해 특정 마이그레이션과.
rake db:migrate:down VERSION=20100905201547
참고로 이 모든 중보 마이그레이션과 롤백에서 않습니다 - 오직 하나 나열되었습니다. 만약 이것이 의도한 것이 아닌, 이를 계기로 안전하게 실행할 수 있습니다. ',' db 를 하나만 재실행할 마이그레이션합니다 않은 다른 키프레임과 이전에 롤백됩니다.
rake db:migrate:down VERSION=20100905201547
특정 파일 롤백됩니다.
모든 마이그레이션과 버전니다 찾기 위해, 이 명령어를 사용할 수 있습니다.
rake db:migrate:status
또는, s # 39 의 버전 파일 이름은 단순히 접두사입니다 migration& 롤백하려면 합니다.
참조 [이 루비 온 레일즈 안내선 초급형] (http://guides.rubyonrails.org/migrations.html # 특정 마이그레이션과 호스팅하면서) 를 마이그레이션과.
네 마이그레이션과 롤백에서 사용하여 데이터베이스 (db) 를 거둘 수 있습니다. '' 다양한 옵션과 함께 롤백에서. 구문 요구 사항에 따라 다를 것이다.
그냥 확인표시를 롤백하려면 마지막 마이그레이션까지 사용할 수 있습니다 다음
rake db:rollback
또는
rake db:rollback STEP=1
한 번에 많은 마이그레이션과 확인표시를 롤백에서 관심용 전달하십시오 인수를 됩니다.
rake db:rollback STEP=n
여기서 'n' 은 롤백하려면, 알파 (α) 의 수를 마이그레이션과 최신값 마이그레이션과.
특정 마이그레이션과 롤백하려면 스케쳐내 관심용 마이그레이션과 다음 버전을 전달해야 합니다.
rake db:migrate:down VERSION=xxxxx
xxxxx 가 버전 번호를 마이그레이션과.
해당 파일을 저장할 수 있는 '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
만약 파일 운영까지도 마이그레이션과 롤백하려면 _create_some_table.rb '는' 의 다음 버전 'db/migrate/ 패널이라고 했습니다 20141201122027, 20141201122027)' 의 경우 해당 마이그레이션과 원하는거요 타임스탬프와 마이그레이션과 창조되었으되, 명령이 있는 마이그레이션과 롤백합니다 약간만이라도:
rake db:migrate:down VERSION=20141201122027
[레일 안내선] 에서 (http://edgeguides.rubyonrails.org/active_record_migrations.html # 이전 마이그레이션과 복귀)
require_relative '20100905201547_create_blocks'
class FixupCreateBlock < ActiveRecord::Migration
def change
revert CreateBlock
create_table(:apples) do |t|
t.string :variety
end
end
end
또한 이 명령을 사용할 수 있는 방법을 리업으로 '블록' 반전하려면. 이 부분을 되돌려집니다 이전 마이그레이션과 선택한 유용할 수 있다. 예를 들어, let& # 39 의 크리스 브로크 커밋되기 상상을 할 때, 이는 나중에 사용할 수 있도록 하고, 대신 validations 좋을 것이다 활성 레코드 체크 제약조건, 우편번호를 확인할 수 있습니다.
class DontUseConstraintForZipcodeValidationMigration < ActiveRecord::Migration
def change
revert do
# copy-pasted code from CreateBlock
reversible do |dir|
dir.up do
# add a CHECK constraint
execute <<-SQL
ALTER TABLE distributors
ADD CONSTRAINT zipchk
CHECK (char_length(zipcode) = 5);
SQL
end
dir.down do
execute <<-SQL
ALTER TABLE distributors
DROP CONSTRAINT zipchk
SQL
end
end
# The rest of the migration was ok
end
end
end
하지만 이 같은 마이그레이션과 사용하지 않고 그동안 몇 차례 더 있을 수도 있다고 기록되었으므로 리업으로 관련된 단계만으로 순서를 반전합니다 create_table 및 양방향, 또는 그 반대로 다운되어도 drop_table create_table 교체하십니까 의해, 그리고 교체하십니까 증가했다. 이게 다 수행됨을 의해 잘 리업으로.
마이그레이션과 명령을 사용하여 데이터베이스 상태를 변경하십시오
$ bundle exec rake db:migrate
우리는 마이그레이션과 사용하여 단일 단계 명령취소할 수 있습니다
$ bundle exec rake db:rollback
All the way to go back to the 시작, 수 있습니다.
$ bundle exec rake db:migrate VERSION=0
숫자 0 에 대해 짐작할 수 있듯이, 다른 대체 어디서 온 버전 번호를 순차적으로 나열하는 마이그레이션과 해당 버전 번호를 마이그레이션합니다.
rake db:migrate VERSION=20181002222222
(참고로 이 /dev/raw/raw1 'db:' - '안' 으로 마이그레이션합니다 db 마이그레이션합니다 꾨옒? 다른 이 문제의 답을.)
지정된 마이그레이션과 가정할 때, 이 버전은 현재 버전 이전의 모든 마이그레이션과 롤백됩니다 포함하지 않음) 최대, 지정된 버전.
예를 들어, '처음' 레이크 db 마이그레이션합니다 상태 표시됩니다.
(... some older migrations ...)
up 20181001002039 Some migration description
up 20181002222222 Some migration description
up 20181003171932 Some migration description
up 20181004211151 Some migration description
up 20181005151403 Some migration description
실행:
rake db:migrate VERSION=20181002222222
발생합니다.
(... some older migrations ...)
up 20181001002039 Some migration description
up 20181002222222 Some migration description
down 20181003171932 Some migration description
down 20181004211151 Some migration description
down 20181005151403 Some migration description
참조: https://makandracards.com/makandra/845-migrate-or-revert-only-some-migrations
레이크 db 마이그레이션합니다 상태 또는 레일 db 마이그레이션합니다 상태
같은 방법으로 모두 처리할 수 있도록 수정된 전송되었기 다음 버전에 강조표시할 놈팽이한테 운영까지도 롤백합니다 및 실행하십시오 내년에는 버전 = 2013424230423 마이그레이션합니다 데이터베이스 (db):
Smartupdate 버전은 모든 대문자를
문제가 있으면 모든 단계에서 마이그레이션이나 에 고정되었습니다 가운데 단순히 gnu. orghttp://www. 마이그레이션과 파일이므로 설명줄로 선은 이미 마이그레이션된.
도움이 되길 바란다