お世話になります。
#実現したいこと
不要なmigrationファイルを削除したい。
#状況
rails db:migrate:down VERSION=VERSION名でstatusを「down」に
したいのですがエラーが出てしまいます。
terminal
1ec2-user:~/environment/workspace/portfolio/mychazuke (master) $ bundle exec rake db:migrate:down VERSION=20200209154505 2== 20200209154505 RemovePasswordFromUsers: reverting ========================== 3-- add_column(:users, :password, :string) 4rake aborted! 5StandardError: An error has occurred, all later migrations canceled: 6 7Mysql2::Error: Duplicate column name 'password': ALTER TABLE `users` ADD `password` varchar(255) 8/home/ec2-user/.rvm/gems/ruby-2.6.3/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `_query' 9/home/ec2-user/.rvm/gems/ruby-2.6.3/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `block in query 10/home/ec2-user/.rvm/gems/ruby-2.6.3/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `handle_interrupt' 11/home/ec2-user/.rvm/gems/ruby-2.6.3/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `query' 12/home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activerecord-5.2.4.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:187:in `block (2 levels) in execute'
#####削除したいmigrationファイル名
20200209154505_remove_password_from_users.rb
20200510094558_remove_password_digest_column.rb
20200510095047_addcolumn_passworddigest.rb
上記のmigrationファイルはusersテーブルに関するものです。
#####usersテーブルの内容
name string
email string
password string
password_digest string
user_image string
先ほど、herokuにアップし、heroku run rails db:migrateをしたところ
「password_digest」の名前がおかしいと出ていたので、usersテーブルを削除し、
作り直しました。
作成したmigrationファイルは20200510115429_create_usersになります。
しかし、古いusersテーブルのmigrationファイルが残ってしまっている(上記のmigrationファイル)ので
削除できす、どうしたら良いか困惑している状態です。
いろいろ調べましたが、rails db:resetをするべきなのかどうかわからない状態です。
アドバイス等頂けますと幸いです。
ご回答の、よろしくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/10 22:30
2020/05/10 22:34
2020/05/11 13:28 編集
2020/05/11 13:50