Rails 3.2 で記述された既存の Rails アプリがあり、PostgreSQL を db エンジンとして使用しています。製品テーブルには、複数の Web サイトの製品が含まれています。現在、すべての製品はエントリ時に一意の ID を取得します。
モデルは次のとおりです。
class Platform < ActiveRecord::Base
attr_accessible :name, :url, :country, :email
validates :name, :presence => true,
:length => { :minimum => 1 }
has_many :sectors
end
schema.rb からのこのテーブルのデータベース スキーマ
create_table "platforms", :force => true do |t|
t.string "name"
t.string "url"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "country"
t.string "email"
end
「URL」パラメータを使用して、エントリまたは新製品を禁止する別の「一意のキー」を追加することは可能ですか? 既存のレコードに損傷を与えることなく、そのようなことを達成するのは難しいと思いRails g migration
ます(重複がすでに存在する場合)。
だから基本的に:新製品のURLがデータベースに既にあるURLに対応する場合、Railsに新製品の追加を禁止してもらいたい. 1 が既にデータベースに登録されています。