LoginSignup
18
14

More than 5 years have passed since last update.

「ActiveRecord::PendingMigrationError」と出た時のエラー解決方法【rails】

Posted at

この記事は、RubyOnRailsの基礎学習で、Twitter風のWebアプリケーション作成中に発生したエラーについて、備忘録としてまとめたものです。

発生している問題・エラーメッセージ

ユーザー登録機能を作成中に、ページを表示しようとしたら以下のエラーメッセージが出た。

Screenshot from Gyazo

「Migrations are pending」
マイグレーションが保留になっている

開発環境

・データベース:MYSQL
・railsのバージョン:5.0.7.1
・クラウド環境:AWS Cloud9
・使用PC:macbook pro

エラーの原因

今までにマイグレーションした履歴を確認

$ rails db:migrate status

Screenshot from Gyazo

usersテーブルがすでに作られているのに、もう一度作ってしまったため、エラーが出ているようです。

エラーの解決方法

今回は、usersテーブルに登録したuser情報が2つしかなかったため、データベースをリセットする方法をとります。

$ rails db:reset

これで、rails db:migrate(実行)、rails db:drop(削除)、rails db:create(作成)を同時にやってくれる。

エラーが解決して、ページが表示されるようになりました。

Screenshot from Gyazo

ユーザーを作成

$ rails console
> user = User.new(name: '〜' , email: '〜', password: '〜')

> user.save

ステップアップのための備忘録

今回は、データベースをリセットする方法を用いたが、重複して作成してしまったデータのみを削除できるようにしたい。

18
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
14