Railsでカラムにユニーク属性を追加するには、add_index
でユニークオプションを指定します。
例
tags
テーブルのname
カラムにユニーク属性を付けてみます。
マイグレーションファイルにて次のようにします。
create_table :tags do |t| t.string :name end add_index :tags, :name, :unique => true
マイグレーションしたあとに、テーブルの情報を見てみると次のようにユニーク属性がついているのが分かります。index_tags_on_name
の箇所です。
Table "public.tags" Column | Type | Modifiers --------+-------------------+--------------------------------------------------- id | integer | not null default nextval('tags_id_seq'::regclass) name | character varying | Indexes: "tags_pkey" PRIMARY KEY, btree (id) "index_tags_on_name" UNIQUE, btree (name)