マイグレーションとはマイグレーション(Migration)は「移行」という意味の言葉です。データベースのスキーマを変更することを意味します。マイグレーション機能を利用すると以下のメリットがあります。記述することができる。スキーマのバージョン管理を行うことができる。システムを開発していると、新機能の追加などのタイミングでスキーマを変更することがあります。コードで記述することができます。データベースのスキーマを変更するときには、全ての環境で漏れなく作業を行うことが重要です。環境)があるとします。スキーマを変更する場合は、開発環境と本番環境の両方のスキーマを忘れずに変更することが重要です。一般的に、開発環境と本番環境でスキーマを変更するタイミングは異なります。開発環境で動作確認を行った後に、本番環境のスキーマを変更するためです。そのため、どの環境までスキーマ変更を実施したのか管理する必要が生じます。スキーマのバージョン管理機能が提供されています。マイグレーションを実行するとその情報がデータベースに記録されます。db:migrate」コマンドを実行すると)、データベースに記録された情報を元に、未実行のマイグレーションだけが実行されます。テーブルを作成するマイグレーションを作成してみましょう。テーブルの構成は以下の通りです。タイムスタンプ(timestamp)それでは以下のコマンドを実行してください。ディレクトリに「YYYYMMMDDHHMMSS_create_users.rb」という名前のファイルが生成されます。ような文字列)が入ります。マイグレーションの情報がデータベースに記録されると前述しましたが、このタイムスタンプがデータベースに記録されます。生成されたファイルを開くと、以下のようになっています。メソッドが定義されています。メソッドには行った変更を元に戻す処理を記述します。テーブルを削除する処理を記述します。ファイルの内容を以下のように修正してください。テーブルを作成します。メソッドはテーブル名とカラム定義を行うブロックを受け取ります。クラスのインスタンスであり、カラムを定義するためのメソッドを提供しています。ここではユーザの情報としては名前(name)、メールアドレス(email)、及び年齢(age)を定義しています。整数型(integer)です。false)を指定しています。主キーについて注意があります。いう名前のカラムが主キーであるとして扱われます。テーブルの主キーを決めるときに、ナチュラルキー(自然キー)とサロゲートキー(代理キー)のどちらを採用するかが一つの分かれ道となります。ナチュラルキーとはシステム外部から与えられる情報で構成される主キーのことであり、例えば社員番号や商品番号などが該当します。サロゲートキーは人工キーとも呼ばれ、システム内部で生成された一意な値であり、一意であること以外に意味を持たない値です。デフォルトでサロゲートキーが使用されます。カラムが作成されます。ブロックの最後に「table.timestamps」という記述があります。これは登録日時(created_at)と更新日時(updated_at)を保持するタイムスタンプ型のカラムを作成することを意味します。レコードの作成日時や更新日時を自動的に記録する仕組みを持っています。データを登録または更新した時に自動的に値が設定されます。テーブルを削除する処理を記述しています。それではマイグレーションを実行しましょう。指定されたデータベースで実行されます。環境のデータベースで実行されます。テーブルが作成されているはずです。以下のコマンドでデータベースに接続することができますので、実際にテーブルが作成されているか確認しましょう。tables;」でテーブル一覧を表示できます。いうテーブルがあることに気付かれると思います。マイグレーションの情報が記録される大切なテーブルです。間違って更新や削除などの操作をしないように注意しましょう。マイグレーションファイルの名前マイグレーションの名前(クラス名)は重複しなければ自由に決めることができますが、以下のようにすると分かりやすいでしょう。Textを触ってみた。