aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/referential.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/referential.rb')
-rw-r--r--app/models/referential.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/app/models/referential.rb b/app/models/referential.rb
index ee74bd9f5..a8f387122 100644
--- a/app/models/referential.rb
+++ b/app/models/referential.rb
@@ -192,6 +192,7 @@ class Referential < ActiveRecord::Base
before_validation :assign_line_and_stop_area_referential, :on => :create, if: :workbench
before_validation :assign_slug, :on => :create
before_validation :assign_prefix, :on => :create
+ before_validation :lock_table, :on => :create
before_create :create_schema
after_create :clone_schema, if: :created_from
@@ -369,4 +370,11 @@ class Referential < ActiveRecord::Base
not metadatas_overlap?
end
+ private
+
+ def lock_table
+ ActiveRecord::Base.connection.execute(
+ 'LOCK referentials IN ACCESS EXCLUSIVE MODE'
+ )
+ end
end