とまとの成長日記

ぴよぴよエンジニアの日々学んだとこを投稿。時々、ゆるーくすきなもの・趣味について語ってます。

マイグレーションについて

今日は、Rails でよくでてくるマイグレーションについて説明していきます!
毎度のことですが、間違っているところご指摘いただけると嬉しいです。

ご指摘頂いたので修正・追記してます!(2019/07/09)

マイグレーションとは。。。

Active Recordの機能の1つであり、データベーススキーマを長期にわたって安定して発展・増築し続けることができるようにするための仕組みです。(Rilsガイドより)

はい、このポンコツ人間、何が何なのかわけわからないのでもっと身近なところで考えていきたいと思います。

まず、マイグレーションするときというのは、大体モデル設計に関わるところでよく使います。
モデルを作ったり、カラムを追加したりするときに使います。

つまり、モデル設計を変更する時に使うものと思っています!

ざっくり!😂

マイグレーションの使い方

1.データベースの構造を変更するコードをRubyでかいた、マイグレーションファイルを作成する
2.作成したマイグレーションファイルを rails db:migtate コマンドを使ってデータベースに反映する

これだけです!!意外と簡単!!

気をつけないといけないのは、マイグレーションファイルを作っただけでは、データベースに反映されていません!
rails db:migrate をするとデータベースに反映されます!

また、マイグレーションを取り消すときも、マイグレーション取り消しコマンド rails db:rollback をしたあとに、削除したいマイグレーションファイルを消しましょう!
必ずロールバックが必要な理由は、そのマイグレーションファイルを基準に取り消し処理を行うので、そのマイグレーションファイルがないとrailsが混乱してしまうので気をつけましょう!

なんでこのマイグレーションが大事なのかというと
バージョン管理ファイル管理ができるからです!

バージョン管理ファイル管理の便利な点は、何らかの理由でバージョンを戻さなきゃいけない時に簡単に戻すことができます。
また、開発に携わっている人が複数いた際に、もし、同時にマイグレーションファイルを作成してしまっても、必要な部分だけデータベースに反映させることができます!
その他にも、いくつかのマイグレーションファイルを作って、設計の問題で3つのマイグレーションファイルのうち、1つだけデータベースに反映させることができます。

バージョン管理ファイル管理は、やってて損はないですね!

追記:マイグレーションの取り消しはむやみやたらやるものではありません!困った時に使う程度にしておきましょう!


はい、こんな感じでざっくりですが、終わります!

参考
railsguides.jp

感想

あああああああああ。大反省。1日サボりましたあああああああああああ。
javascriptについて書きたかったのですが、難しくてうまくまとめきれませんでした。
明日には出せるようまとめたいです!!