この記事は、RubyOnRailsの基礎学習で、Twitter風のWebアプリケーション作成中に発生したエラーについて、備忘録としてまとめたものです。
##発生している問題・エラーメッセージ
ユーザー登録機能を作成中に、ページを表示しようとしたら以下のエラーメッセージが出た。
「Migrations are pending」
マイグレーションが保留になっている
##開発環境
・データベース:MYSQL
・railsのバージョン:5.0.7.1
・クラウド環境:AWS Cloud9
・使用PC:macbook pro
##エラーの原因
今までにマイグレーションした履歴を確認
$ rails db:migrate status
usersテーブルがすでに作られているのに、もう一度作ってしまったため、エラーが出ているようです。
##エラーの解決方法
今回は、usersテーブルに登録したuser情報が2つしかなかったため、データベースをリセットする方法をとります。
$ rails db:reset
これで、rails db:migrate
(実行)、rails db:drop
(削除)、rails db:create
(作成)を同時にやってくれる。
エラーが解決して、ページが表示されるようになりました。
ユーザーを作成
$ rails console
> user = User.new(name: '〜' , email: '〜', password: '〜')
> user.save
##ステップアップのための備忘録
今回は、データベースをリセットする方法を用いたが、重複して作成してしまったデータのみを削除できるようにしたい。