記憶の外付けHDD

切実に頭にUSBのコネクターがほしいです。なるべくtype-cでお願いしたいです。(忘れないように、プログラミング学習で学んだことを投稿してます)

【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

参考にした記事

Rails Guide - 2.1 単独のマイグレーションを作成する