こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 Ruby on Railsでテーブルにカラムを追加するやり方について丁寧に解説します。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
Rubyのバージョン | 2.6.6 |
Ruby on Railsのバージョン | 6.0.3.6 |
SQLiteのバージョン | 3.32.3 |
この記事ではRuby on Railsのプロジェクトは
C:\rails_study\sample
に作成しています。
テーブルにカラムを追加するやり方を解説
テーブルにカラムを追加するやり方を解説します。
この記事では、usersテーブルにstring型の「address」というカラムを追加します。
まずマイグレーションファイルを作成します。
新規作成するコマンドは
1 |
rails generate migration 【実行する処理+テーブル名】 【カラム名】:【型】 |
です。
詳しくはこちらの記事をご参考ください。
usersテーブルにstring型の「address」というカラムを追加するのでコマンドは
1 |
rails generate migration AddAddressToUsers address:string |
です。
たたくと
1 2 3 |
C:\rails_study\sample>rails generate migration AddAddressToUsers address:string invoke active_record create db/migrate/20221027092012_add_address_to_users.rb |
C:\rails_study\sample\db\migrate
配下にマイグレーションファイルが作成されます。
中身は以下のようになってます。
1 2 3 4 5 |
class AddAddressToUsers < ActiveRecord::Migration[6.0] def change add_column :users, :address, :string end end |
特に中身を変更する必要はありません。
マイグレーションファイル実行前にusersテーブルとschema_migrationsテーブルを確認します。
schema_migrationsテーブルとは、マイグレーションが実行されたかを管理するためのテーブルです。
詳しくはこちらの記事をご参考ください。
usersテーブルは以下のようになっています。
schema_migrationsテーブルは以下のようになっています。
では、マイグレーションファイルを実行します。
実行するコマンドは
1 |
rails db:migrate |
です。
たたくと
1 2 3 4 5 |
C:\rails_study\sample>rails db:migrate == 20221027092012 AddAddressToUsers: migrating ================================ -- add_column(:users, :address, :string) -> 0.0040s == 20221027092012 AddAddressToUsers: migrated (0.0045s) ======================= |
作成したマイグレーションファイルが無事実行されました。
以上でテーブルにカラム追加の作業は完了です。
本当にカラム追加ができているかを、usersテーブルとschema_migrationsテーブルを確認します。
usersテーブルでは「address」カラムが追加されていることが確認できました。
schema_migrationsテーブルでは「20221027092012」のレコードが増えているので、作成したマイグレーションファイルが実行されたことが確認できました。
まとめ:テーブルにカラムを追加してみよう
以上がRuby on Railsでテーブルにカラムを追加するやり方の解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント