Ruby on Rails

Ruby on Railsでテーブルのカラムを追加・削除する方法

Ruby on Railsではテーブルの変更(テーブル削除やカラム追加、インデックス追加など)はマイグレーションという仕組みを使って行います。SQLを直接操作することはないんですね。

今回は、マイグレーションの中でもよく使うテーブルのカラム追加・削除の方法をメモしておきます。

使用したRailsのバージョンは以下のとおりです。

カラム追加

以下コマンドで、テーブルのカラムを追加するためのマイグレーションファイルを作成します。

以下コマンドで、マイグレーションファイルをもとにテーブルのカラムを追加します。

実際に試してみます。

上記コマンドを実行すると、以下のようなマイグレーションファイルがタイムスタンプ付きで自動生成されます。

db/migrate/20181208122013_add_title_to_posts.rb

あとは、以下コマンドでテーブルのカラムを追加してやればOKです。

ちなみに、以下コマンドのようにカラムを複数追加することもできます。Detailsの箇所はどんな名前でもOKです。

自動生成されるマイグレーションファイルは以下のとおりです。

カラム削除

以下コマンドで、テーブルのカラムを削除するためのマイグレーションファイルを作成します。

以下コマンドで、マイグレーションファイルをもとにテーブルのカラムを削除します。

実際に試してみます。

上記コマンドを実行すると、以下のようなマイグレーションファイルがタイムスタンプ付きで自動生成されます。

db/migrate/20181208135907_remove_title_from_posts.rb

あとは、以下コマンドでテーブルのカラムを削除してやればOKです。

ちなみに、以下コマンドのようにカラムを複数削除することもできます。Detailsの箇所はどんな名前でもOKです。

自動生成されるマイグレーションファイルは以下のとおりです。

まとめ

Ruby on Railsでテーブルのカラムを追加・削除する方法をまとめました。 RailsはAddカラム名Toテーブル名といい、Removeカラム名Fromテーブル名といい、ほんと規約がかっちりしていますね。

参考リンク

-Ruby on Rails

© 2024 Reasonable Code