[Rails] 잘못된 마이그레이션 파일을 삭제할 수 없음 →railsdb:migrate:reset을 통해 해결
8699 단어 Rails
[Rails] 표에 열을 추가할 때 낙타 껍질 이외의 곳에 기입하면 어떨까요?
그리고 자신이 느낀 의문을 직접 지령으로 실행하면 (여러 개 만들었다) 필요 없는 파일은 삭제할 수 없다(땀)
이번에는 많은 것을 알아차렸기 때문에 반성하는 마음으로 기사를 쓰고 싶어요.
할 수 없는 일과 잘못된 내용.
터미널에서 필요하지 않은 파일을 삭제하고 싶지만 삭제하기 전에down 상태로 들어갈 수 없습니다 (롤백 불가)#ターミナルに表示されるエラー
foo@fogefogenoMacBook-Air bar % bundle exec rake db:migrate:down VERSION=20200829125501_Nickname2.rb
rake aborted!
Invalid format of target version: `VERSION=20200829125501_Nickname2.rb`
/Users/fogefoge/.rbenv/versions/2.6.5/bin/bundle:23:in `load'
/Users/fogefoge/.rbenv/versions/2.6.5/bin/bundle:23:in `<main>'
Tasks: TOP => db:migrate:down
(See full trace by running task with --trace)
해결책
나는 먼저 해결할 방법을 쓸 것이다.
나는 지금 프로그래밍 학교에 다니며 지도 교수의 도움을 받았다.
(정말 고맙습니다.)
1. Rails 파일에서 자신이 하고 싶은 파일을 만드는 경우.
① 왼쪽에서 삭제할 파일을 모두 우클릭으로 삭제
② 이번에 보존하고자 하는'20200829063700 devise creat users.rb'파일에 오른쪽의 9번째 줄에 있는nickname(이번에는 열로 표에 추가하고자 함)을 추가했다.
2. 터미널에서 다음 명령을 실행합니다.
'railsdb:migrate:reset'은 삭제한 후 제작하고 스스로 조정하는 지령을 가리킨다.#ターミナル上で、以下コマンドを実行
foo@fogefogenoMacBook-Air bar % rails db:migrate:reset
#実行後、表示された内容
Dropped database 'pictweet_development'
Dropped database 'pictweet_test'
Created database 'pictweet_development'
Created database 'pictweet_test'
== 20200825113455 CreateTweets: migrating =====================================
-- create_table(:tweets)
-> 0.0130s
== 20200825113455 CreateTweets: migrated (0.0131s) ============================
== 20200829063700 DeviseCreateUsers: migrating ================================
-- create_table(:users)
-> 0.0412s
-- add_index(:users, :email, {:unique=>true})
-> 0.0603s
-- add_index(:users, :reset_password_token, {:unique=>true})
-> 0.0429s
== 20200829063700 DeviseCreateUsers: migrated (0.1469s) =======================
완성했어!!
말하자면 내가 한 일
여기서부터 디버깅에 포함해서'내가 했다'고 생각하는 요점을 적으세요.
했던 것 중에 하나예요.
한 명씩 테스트(거꾸로 돌리지 마)하지 말고 필요 없는 여러 개의 이전 파일을 단숨에 만들었다.
하는 일의 두 번째
실험→정상(교학계획대로)→실험→실험의 순서로 진행한다.
디버깅 과정에서 롤백을 사용하는 방법은 앞에서 되돌아오는 것이 생각났다.
도중에 정상적으로 끼었기 때문에 롤백으로 되돌아오는 것이 일시적으로 전부 돌려주고 정확하게 다시 만드는 일이 된다.
했던 일 셋.
아무 것도 고려하지 않고 실험에서 필요하지 않은 이동 파일을 우클릭하면 단숨에 삭제한다.
갑자기 이런 느낌 지워도 돼요?그러고 보니 롤백이라는 단어가 있는데 그걸 안 했어요. 괜찮아요?이런 의문을 조사해봤습니다.
● 마이그레이션 파일 삭제를 마우스 오른쪽 버튼으로 클릭하면 파일은 삭제되지만 터미널은 사라지지 않습니다(Rails에 남음)
● 삭제된 파일이 보이지 않기 때문에 앞으로 같은 파일 이름 등으로 작업할 때 오류가 발생할 수 있음
나는 이 일을 알고 처리하기 시작했다.
하는 일의 네 가지
엉겁결에 후진하여 수렁에 빠지다.
특히 "아, 서버가 켜져서 안 되나요?"그러나 제어 C(서버의 단축키 낮추기)가 작동하지 않아 터미널을 열 수 없습니다.×닫혔어.지령 이력이 사라졌다.
생각 없이 후진했다
여기서부터 상술한'했던 일'을 알아차리고 엉뚱하게 후진한 일을 적어야 한다.
목적 없이 디버깅 1
열쇠로'NO FILE'삭제 방법을 찾아봤다.
참고 자료
[Rails] 마이그레이션 파일 삭제
Rubbyon Rails "NO FILE의 migration을 제거하는 방법"
👉touth,migrate,down을 하고 싶은데,down이 잘 안 돼요.
👉키보드에 적힌 것처럼, touth에서는 파일 이름을 삭제하는 것이 아니라 'hoge' 이름으로 바꿉니까?
맹목적 디버깅 2
파일 이름을 'hoge' 가 아닌 삭제된 이름으로 바꾸어 보십시오
👉진전이 순조롭지 못하다
맹목적 디버깅의 3
그럼 반 이름이 일치하지 않네요.
👉진전이 순조롭지 못하다
클래스 이름과 파일 이름이 다르기 때문에 이 오류는?눈에 띄는 보도
맹목적 디버깅 4
그렇다면 상기 1~3은 눈앞의 파일이 아니라 가장 오래된 파일에서 명령을 수행하는 것이다.
가장 오래된 서류가 아니라 앞의 서류부터 하겠습니다.
👉진전이 순조롭지 못하다
자기가 고쳐야 할 보도를 알아차리다
맹목적 디버깅 5
그러고 보니 서버가 켜져서 그런가?C를 제어하는 단축키가 안 좋아요.×닫기
👉잘 안 되고 이력서도 사라졌으니 실수다.
맹목적 디버깅의 6
안 그래도 잘 못 봤는데bin이라고 쓰여 있어요.
큰 틀의 절차가 있는 것 같습니다.
학급명과 파일명은 이런 오류가 없지만 위에 쓴 것도 좋지 않다.
그게 다야.
총결산
조사할수록 통증이 느껴져 이전 파일을 쉽게 추가하거나 삭제할 수 없다.
특히 팀 개발 때 파일만 삭제하면 다른 사람이 뭘 했는지 볼 수 없어 오류를 일으키는 원인을 배웠다.
또 이전 상황을 여러 차례 확인해 down을 시키려는 지령을 내렸기 때문에 이전에 대한 이해도 깊어졌다.
그리고 나서
● 무작정 후진하면 수렁에 빠진다는 통감
● 무분별한 디버깅을 위해 오류가 발생하지 않을 경우 다양한 가능성이 선택 항목으로 부상한다
나는 지금까지 성장하고 싶다.
저에게 솔루션과 따뜻한 말씀을 해주셔서 정말 감사합니다.
읽어주셔서 감사합니다.
Reference
이 문제에 관하여([Rails] 잘못된 마이그레이션 파일을 삭제할 수 없음 →railsdb:migrate:reset을 통해 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/cherry_2020/items/dabe81fc16b40a66f846
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#ターミナルに表示されるエラー
foo@fogefogenoMacBook-Air bar % bundle exec rake db:migrate:down VERSION=20200829125501_Nickname2.rb
rake aborted!
Invalid format of target version: `VERSION=20200829125501_Nickname2.rb`
/Users/fogefoge/.rbenv/versions/2.6.5/bin/bundle:23:in `load'
/Users/fogefoge/.rbenv/versions/2.6.5/bin/bundle:23:in `<main>'
Tasks: TOP => db:migrate:down
(See full trace by running task with --trace)
나는 먼저 해결할 방법을 쓸 것이다.
나는 지금 프로그래밍 학교에 다니며 지도 교수의 도움을 받았다.
(정말 고맙습니다.)
1. Rails 파일에서 자신이 하고 싶은 파일을 만드는 경우.
① 왼쪽에서 삭제할 파일을 모두 우클릭으로 삭제
② 이번에 보존하고자 하는'20200829063700 devise creat users.rb'파일에 오른쪽의 9번째 줄에 있는nickname(이번에는 열로 표에 추가하고자 함)을 추가했다.
2. 터미널에서 다음 명령을 실행합니다.
'railsdb:migrate:reset'은 삭제한 후 제작하고 스스로 조정하는 지령을 가리킨다.
#ターミナル上で、以下コマンドを実行
foo@fogefogenoMacBook-Air bar % rails db:migrate:reset
#実行後、表示された内容
Dropped database 'pictweet_development'
Dropped database 'pictweet_test'
Created database 'pictweet_development'
Created database 'pictweet_test'
== 20200825113455 CreateTweets: migrating =====================================
-- create_table(:tweets)
-> 0.0130s
== 20200825113455 CreateTweets: migrated (0.0131s) ============================
== 20200829063700 DeviseCreateUsers: migrating ================================
-- create_table(:users)
-> 0.0412s
-- add_index(:users, :email, {:unique=>true})
-> 0.0603s
-- add_index(:users, :reset_password_token, {:unique=>true})
-> 0.0429s
== 20200829063700 DeviseCreateUsers: migrated (0.1469s) =======================
완성했어!!말하자면 내가 한 일
여기서부터 디버깅에 포함해서'내가 했다'고 생각하는 요점을 적으세요.
했던 것 중에 하나예요.
한 명씩 테스트(거꾸로 돌리지 마)하지 말고 필요 없는 여러 개의 이전 파일을 단숨에 만들었다.
하는 일의 두 번째
실험→정상(교학계획대로)→실험→실험의 순서로 진행한다.
디버깅 과정에서 롤백을 사용하는 방법은 앞에서 되돌아오는 것이 생각났다.
도중에 정상적으로 끼었기 때문에 롤백으로 되돌아오는 것이 일시적으로 전부 돌려주고 정확하게 다시 만드는 일이 된다.
했던 일 셋.
아무 것도 고려하지 않고 실험에서 필요하지 않은 이동 파일을 우클릭하면 단숨에 삭제한다.
갑자기 이런 느낌 지워도 돼요?그러고 보니 롤백이라는 단어가 있는데 그걸 안 했어요. 괜찮아요?이런 의문을 조사해봤습니다.
● 마이그레이션 파일 삭제를 마우스 오른쪽 버튼으로 클릭하면 파일은 삭제되지만 터미널은 사라지지 않습니다(Rails에 남음)
● 삭제된 파일이 보이지 않기 때문에 앞으로 같은 파일 이름 등으로 작업할 때 오류가 발생할 수 있음
나는 이 일을 알고 처리하기 시작했다.
하는 일의 네 가지
엉겁결에 후진하여 수렁에 빠지다.
특히 "아, 서버가 켜져서 안 되나요?"그러나 제어 C(서버의 단축키 낮추기)가 작동하지 않아 터미널을 열 수 없습니다.×닫혔어.지령 이력이 사라졌다.
생각 없이 후진했다
여기서부터 상술한'했던 일'을 알아차리고 엉뚱하게 후진한 일을 적어야 한다.
목적 없이 디버깅 1
열쇠로'NO FILE'삭제 방법을 찾아봤다.
참고 자료
[Rails] 마이그레이션 파일 삭제
Rubbyon Rails "NO FILE의 migration을 제거하는 방법"
👉touth,migrate,down을 하고 싶은데,down이 잘 안 돼요.
👉키보드에 적힌 것처럼, touth에서는 파일 이름을 삭제하는 것이 아니라 'hoge' 이름으로 바꿉니까?
맹목적 디버깅 2
파일 이름을 'hoge' 가 아닌 삭제된 이름으로 바꾸어 보십시오
👉진전이 순조롭지 못하다
맹목적 디버깅의 3
그럼 반 이름이 일치하지 않네요.
👉진전이 순조롭지 못하다
클래스 이름과 파일 이름이 다르기 때문에 이 오류는?눈에 띄는 보도
맹목적 디버깅 4
그렇다면 상기 1~3은 눈앞의 파일이 아니라 가장 오래된 파일에서 명령을 수행하는 것이다.
가장 오래된 서류가 아니라 앞의 서류부터 하겠습니다.
👉진전이 순조롭지 못하다
자기가 고쳐야 할 보도를 알아차리다
맹목적 디버깅 5
그러고 보니 서버가 켜져서 그런가?C를 제어하는 단축키가 안 좋아요.×닫기
👉잘 안 되고 이력서도 사라졌으니 실수다.
맹목적 디버깅의 6
안 그래도 잘 못 봤는데bin이라고 쓰여 있어요.
큰 틀의 절차가 있는 것 같습니다.
학급명과 파일명은 이런 오류가 없지만 위에 쓴 것도 좋지 않다.
그게 다야.
총결산
조사할수록 통증이 느껴져 이전 파일을 쉽게 추가하거나 삭제할 수 없다.
특히 팀 개발 때 파일만 삭제하면 다른 사람이 뭘 했는지 볼 수 없어 오류를 일으키는 원인을 배웠다.
또 이전 상황을 여러 차례 확인해 down을 시키려는 지령을 내렸기 때문에 이전에 대한 이해도 깊어졌다.
그리고 나서
● 무작정 후진하면 수렁에 빠진다는 통감
● 무분별한 디버깅을 위해 오류가 발생하지 않을 경우 다양한 가능성이 선택 항목으로 부상한다
나는 지금까지 성장하고 싶다.
저에게 솔루션과 따뜻한 말씀을 해주셔서 정말 감사합니다.
읽어주셔서 감사합니다.
Reference
이 문제에 관하여([Rails] 잘못된 마이그레이션 파일을 삭제할 수 없음 →railsdb:migrate:reset을 통해 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/cherry_2020/items/dabe81fc16b40a66f846
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
여기서부터 상술한'했던 일'을 알아차리고 엉뚱하게 후진한 일을 적어야 한다.
목적 없이 디버깅 1
열쇠로'NO FILE'삭제 방법을 찾아봤다.
참고 자료
[Rails] 마이그레이션 파일 삭제
Rubbyon Rails "NO FILE의 migration을 제거하는 방법"
👉touth,migrate,down을 하고 싶은데,down이 잘 안 돼요.
👉키보드에 적힌 것처럼, touth에서는 파일 이름을 삭제하는 것이 아니라 'hoge' 이름으로 바꿉니까?
맹목적 디버깅 2
파일 이름을 'hoge' 가 아닌 삭제된 이름으로 바꾸어 보십시오
👉진전이 순조롭지 못하다
맹목적 디버깅의 3
그럼 반 이름이 일치하지 않네요.
👉진전이 순조롭지 못하다
클래스 이름과 파일 이름이 다르기 때문에 이 오류는?눈에 띄는 보도
맹목적 디버깅 4
그렇다면 상기 1~3은 눈앞의 파일이 아니라 가장 오래된 파일에서 명령을 수행하는 것이다.
가장 오래된 서류가 아니라 앞의 서류부터 하겠습니다.
👉진전이 순조롭지 못하다
자기가 고쳐야 할 보도를 알아차리다
맹목적 디버깅 5
그러고 보니 서버가 켜져서 그런가?C를 제어하는 단축키가 안 좋아요.×닫기
👉잘 안 되고 이력서도 사라졌으니 실수다.
맹목적 디버깅의 6
안 그래도 잘 못 봤는데bin이라고 쓰여 있어요.
큰 틀의 절차가 있는 것 같습니다.
학급명과 파일명은 이런 오류가 없지만 위에 쓴 것도 좋지 않다.
그게 다야.
총결산
조사할수록 통증이 느껴져 이전 파일을 쉽게 추가하거나 삭제할 수 없다.
특히 팀 개발 때 파일만 삭제하면 다른 사람이 뭘 했는지 볼 수 없어 오류를 일으키는 원인을 배웠다.
또 이전 상황을 여러 차례 확인해 down을 시키려는 지령을 내렸기 때문에 이전에 대한 이해도 깊어졌다.
그리고 나서
● 무작정 후진하면 수렁에 빠진다는 통감
● 무분별한 디버깅을 위해 오류가 발생하지 않을 경우 다양한 가능성이 선택 항목으로 부상한다
나는 지금까지 성장하고 싶다.
저에게 솔루션과 따뜻한 말씀을 해주셔서 정말 감사합니다.
읽어주셔서 감사합니다.
Reference
이 문제에 관하여([Rails] 잘못된 마이그레이션 파일을 삭제할 수 없음 →railsdb:migrate:reset을 통해 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/cherry_2020/items/dabe81fc16b40a66f846
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([Rails] 잘못된 마이그레이션 파일을 삭제할 수 없음 →railsdb:migrate:reset을 통해 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/cherry_2020/items/dabe81fc16b40a66f846텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)