Migration ファイル生成時にカラムサイズやインデックス生成を指定できる
Rails の generator でマイグレーションファイルを生成する時に、カラムのサイズやインデックス追加を指定する事が出来るんですね。
恥ずかしながら今日まで知りませんでした。
例えば以下のような感じで生成すると
% bundle exec rails g scaffold note title:string{10}:uniq content:text:index state:integer{2} deleted_at:datetime lock_version:integer
以下のようなマイグレーションファイルが作成されます。
class CreateNotes < ActiveRecord::Migration def change create_table :notes do |t| t.string :title, limit: 10 t.text :content t.integer :state, limit: 2 t.datetime :deleted_at t.integer :lock_version t.timestamps end add_index :notes, :title, unique: true add_index :notes, :content end end
型の横のブレース内に指定した数字でカラムのサイズを、型とコロンで区切って index で通常のインデックス、uniq でユニークインデックスの追加が指定できます。
references は知っていたけどこの辺は知らなかったので、今まで生成した後に手で修正してました。
何時からできるようになってたんだろう?
最初から?