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のコマンドを実行してみると良いと思います。