aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Donnet2017-10-16 12:14:32 +0200
committerLuc Donnet2017-10-16 12:15:10 +0200
commit6346c658c6e6775b7e50c042602f4dfb0aca52ce (patch)
tree35ec31d0eabe5534baa82ed798c0307cb79fa6fe
parentcd480fff1486c7da53019b934dc454558dca808c (diff)
downloadchouette-core-6346c658c6e6775b7e50c042602f4dfb0aca52ce.tar.bz2
Fix uniqueness for code in compliance_control_set Refs #4731
-rw-r--r--app/models/compliance_control.rb2
-rw-r--r--db/migrate/20171016074044_set_code_uiqueness_in_compliance_control.rb5
-rw-r--r--db/schema.rb5
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