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テーブル名
といい、ほんと規約がかっちりしていますね。