いてづきブログ

情シスでやってみたことの備忘録

Rails g migrate覚書

既存のmodelにカラムを追加するやり方

 

rails g migration クラス名

 

クラス名は通常「行なう処理+テーブル名」になる。例えば、AddAgeToUsers(またはadd_age_to_users)となる。

 

生成されたマイグレーションファイルのchange内にadd_columnを書けばいい。

テーブル名は複数形で書く。

def change
  add_column :users, :age, :integer, default: 0, comment: '年齢'
end

add_column - リファレンス - - Railsドキュメント

 

出来上がったらdb:migrateを実行すればDBやmodelに反映される(modelにもコメントとしてフィールド情報が記載される)

RailsC#javaと違ってmodelにカラムの一覧をフィールドやプロパティで書かないので結構戸惑いますねー。

 

書き方が悪くてマイグレーションに失敗した場合、一旦下記コマンドをする必要がある*1

rails db:environment:set 

その後マイグレーションファイルを直して再度db:migrateを実行する。

 

 

Ruby on Rails 5アプリケーションプログラミング

Ruby on Rails 5アプリケーションプログラミング

 

 

 

*1:詳しい理由はググって