【Rails】カラムを後から追加する
はじめに
もう、4回くらい調べているので、二度と調べないために、ここに記載します。
解説すること
すでに作成したテーブルに、新しくカラムを追加する方法。
方法
0.想定ケース
google maps platformを使って、地図情報も登録したい 。
なので、postsテーブルに以下のカラムを追加します。
カラム名 | 型 | 意味 |
---|---|---|
latitude | float | 緯度 |
longitude | float | 経度 |
1.マイグレーションファイルを生成
ターミナルで以下のコマンドを入力
bin/rails g migration AddPlaceinfoToPosts latitude:float longitude:float
ToPosts
の部分で、追加先のテーブルを指定latitude:float longitude:float
の部分で、追加するカラム名&型を指定
2.マイグレーションファイルを編集&適用
1.で作成したマイグレーションファイルは、以下のようになっているはず。
class AddPlaceinfoToPosts < ActiveRecord::Migration[5.2] def change add_column :posts, :latitude, :float add_column :posts, :longitude, :float end end
そんで、bin/rails db:migrate
で、マイグレーションファイルを適用します。
これで完了です。
その他
オプションを付ける
null: false
をつけたいときは、こんな感じで書きます。
add_column :posts, :latitude, :float, null: false
そのほかのオプションは↓を見てください。
add_column (ActiveRecord::ConnectionAdapters::SchemaStatements) - APIdock