teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2020/05/12 15:37

投稿

winterboum
winterboum

スコア23653

answer CHANGED
@@ -1,4 +1,34 @@
1
1
  `bundle exec rake db:migrate VERSION=20200209154505`
2
2
  ではどうでしょう。
3
3
 
4
- そこまでの必要なmigrationも戻されますから、それに関わるデータは消えたりしますので注意
4
+ そこまでの必要なmigrationも戻されますから、それに関わるデータは消えたりしますので注意
5
+
6
+ 追記
7
+ User関連が混乱してますね
8
+ 20200209154505 Remove password from users
9
+ ということはこれ以前にusersをcreateしているはず。
10
+  なのにそのmigrationがない。?????
11
+
12
+ up 20200510094558 Remove password digest column
13
+ up 20200510095047 Addcolumn passworddigest
14
+ これらはその usersにたいして行われてません?
15
+ なのにまたusersを作っている
16
+ up 20200510115429 Create users
17
+
18
+ で、これはなに? 
19
+ up 20200511130020 Users
20
+ 戻すときに
21
+ 20200511130020はusersテーブルを削除しました。
22
+ となってるってことはここでもcreateしている模様。
23
+ しかもupということは成功している。
24
+
25
+ ???????????????? です
26
+
27
+ こういう事態に陥るようでしたら、migrationを削除する、という作業は**やらない**ことをお薦めします。
28
+ railsがdatabase管理をどう行っているのか、が理解できない状態ではやると破綻する。
29
+
30
+ ですが、この状態でmisumakunさんのいわれる王道:打ち消すmigrationをしても既にusersがおかしくなっているかもしれないからうまく行くものかどうか。
31
+ 今後の方針案二つ
32
+
33
+ 案1 なぜmigrationを消す必要が出てきたのか、その理由を振り返り、現状を確認し、問題を解きほぐしていく
34
+ 案2 中止してやり直し。db:dropしてまっさらにし、migration をあるべきものになおし、create、migrate し直す