【Rails】なぜ「rails db:migrate」をしなければならないのか

なぜ「rails db:migrate」をしなければならないのか解説する。

 

想定読者

 

Ruby on Railsのマイグレーションの使い方を知っているが、どうしてそのような手間をかける必要があるのか知りたい人

 

本文

 

Railsのアプリケーション開発では「rails db:migrate」とやらないと「AciveRecord::PendingMigrationError」と表示され、嫌な思いをした人も少なくないはずだ。

 

ちなみに「マイグレーション」とは「データ移行」のことである。

 

それではどうしてこのマイグレーションを行わなければならないのか。

 

早速解説していく。

 

 

チーム開発で役立つ

 

結論から言うと、

 

マイグレーションファイルは「チーム開発」の際に役に立つ。

 

ここから具体例を用いて説明していく。

 



 

 

ある開発現場では、3人のエンジニアがアプリケーション開発をすることが決まったとする。

 

そして、アプリケーション開発を進めていくと必ずデータベースのテーブル、カラムの追加が行われる。

 

その際に自分以外の開発者がデータベースの内容を変更しているので、作業を再開すると知らないテーブルやカラムが出来ていることも考えられる。

 

そんな時に役に立つのがマイグレーションファイルである。

 

マイグレーションファイルには、

ファイル名の先頭に変更した「日時」が書かれ、

テーブル・カラムの追加だけでなく、「データ型の変更や削除」などの機能も存在する。

 

このようにして、「他の開発者」もしくは「過去の自分」がどのようにデータベースを変更したかを見ることが出来る。

 

なのでRailsでは、「rails db:migrate」のコマンドを入力してデータベースの変更を行っているのだ。

 

 

まとめ

 

Railsは意識せずに使っているが、よく考えれば合理的な機能がたくさん用意されている。

 

今後もそのようなものを見つけたらこのブログに書いていく。

 

ここまで読んでくれてありがとう。

 

他の記事も読んでいただけると幸いだ。




  • 【明解】表を使って天才と秀才の違いをはっきりさせる
  • [BanG Dream!]香澄語翻訳家という仕事
  • 【衝撃】工業高校生が彼女ができない本当の理由
  • エンジニアがコロナの影響でリモートワークした結果wwwww
  • 【納得】成長とは「日常の破壊」である
  • 【エンジニアの本音】ただただ黙って技術書を咥えていたい