0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[Ruby on Rails] マイグレーションエラーとは? [初心者向け]

Posted at

ProgateでRailsのレッスンを進めて行くうちに、データベースの取り扱いがありました。

railsではマイグレーションファイルを用いて、データベースの操作をしていくそうです。

しかし、エラーに関しては詳しい記述がなかったので、こちらでまとめることとします。

なお、Progateのレッスンによるマイグレーションエラーの説明は、以下の通りです。

Railsでは、データベースに反映されていないマイグレーションファイルが存在する状態で、どこかのページにアクセスすると以下のようなマイグレーションエラーが発生してしまいます。そのため、マイグレーションファイルを作成した場合は必ず「rails db:migrate」を実行する必要があります。

マイグレーションとは

マイグレーション(Migration)とは、「移住」「移動」といった意味を持つワードです。

Railsでは、Railsからデータベースにテーブルを「移動」することを意味するそうです。

ちなみに、テーブルとは

テーブルとは、データベースでデータを整理整頓するための表みたいなものです。
縦軸(カラム)と横軸(レコード)があり、データを一つひとつ格納していくことができます。

Railsにおけるマイグレーションの役割

マイグレーションをしようする意味ですが、
SQLを記述せずにデータベースにテーブルを作成することができるためだそうです。

(*SQLとはデータベースを操作するためのプログラミング言語です)

RailsのActive Recordという機能が、RubyをSQLに自動変換してくれているからこそ、実現可能だとか。

rails db:migrateの意味

マイグレーションを実行する際に、上のコマンドをrailsで実行する訳ですが、その意味はどんなものでしょうか。

このコマンドは、rails g model x xのようなコマンドで作成したマイグレーションファイルにあるRubyの記述をSQLに変換していくものです。

マイグレーションエラーとは

マイグレーションエラーとは、
テーブルに関する情報が記述されているマイグレーションファイルが、データベースと繋がっていない時に発生します。

なので、マイグレーションファイルを作成したが、マイグレーション(rails db:migrate)をし忘れた時に発生することになります。

もし、マイグレーションエラー(AciveRecord::PendingMigrationError)が発生した際には、rails db:migrateのコマンドを実行してみると良いと思います。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?