diff options
| author | Luc Donnet | 2017-10-16 12:14:32 +0200 |
|---|---|---|
| committer | Luc Donnet | 2017-10-16 12:15:10 +0200 |
| commit | 6346c658c6e6775b7e50c042602f4dfb0aca52ce (patch) | |
| tree | 35ec31d0eabe5534baa82ed798c0307cb79fa6fe | |
| parent | cd480fff1486c7da53019b934dc454558dca808c (diff) | |
| download | chouette-core-6346c658c6e6775b7e50c042602f4dfb0aca52ce.tar.bz2 | |
Fix uniqueness for code in compliance_control_set Refs #4731
| -rw-r--r-- | app/models/compliance_control.rb | 2 | ||||
| -rw-r--r-- | db/migrate/20171016074044_set_code_uiqueness_in_compliance_control.rb | 5 | ||||
| -rw-r--r-- | db/schema.rb | 5 |
3 files changed, 9 insertions, 3 deletions
diff --git a/app/models/compliance_control.rb b/app/models/compliance_control.rb index bfbc075c6..baf491e8a 100644 --- a/app/models/compliance_control.rb +++ b/app/models/compliance_control.rb @@ -8,7 +8,7 @@ class ComplianceControl < ActiveRecord::Base validates :criticity, presence: true validates :name, presence: true - validates :code, presence: true + validates :code, presence: true, uniqueness: { scope: :compliance_control_set } validates :origin_code, presence: true validates :compliance_control_set, presence: true diff --git a/db/migrate/20171016074044_set_code_uiqueness_in_compliance_control.rb b/db/migrate/20171016074044_set_code_uiqueness_in_compliance_control.rb new file mode 100644 index 000000000..be43dbcf5 --- /dev/null +++ b/db/migrate/20171016074044_set_code_uiqueness_in_compliance_control.rb @@ -0,0 +1,5 @@ +class SetCodeUiquenessInComplianceControl < ActiveRecord::Migration + def change + add_index :compliance_controls, [:code, :compliance_control_set_id], unique: true + end +end diff --git a/db/schema.rb b/db/schema.rb index 583851ffc..181c83402 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20171010202716) do +ActiveRecord::Schema.define(version: 20171016074044) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -256,6 +256,7 @@ ActiveRecord::Schema.define(version: 20171010202716) do t.integer "compliance_control_block_id" end + add_index "compliance_controls", ["code", "compliance_control_set_id"], name: "index_compliance_controls_on_code_and_compliance_control_set_id", unique: true, using: :btree add_index "compliance_controls", ["compliance_control_block_id"], name: "index_compliance_controls_on_compliance_control_block_id", using: :btree add_index "compliance_controls", ["compliance_control_set_id"], name: "index_compliance_controls_on_compliance_control_set_id", using: :btree @@ -407,9 +408,9 @@ ActiveRecord::Schema.define(version: 20171010202716) do t.string "type" t.integer "parent_id", limit: 8 t.string "parent_type" - t.datetime "notified_parent_at" t.integer "current_step", default: 0 t.integer "total_steps", default: 0 + t.datetime "notified_parent_at" t.string "creator" end |
