From 7bebeaf0c1c359a115f3052b9488ab3838299f63 Mon Sep 17 00:00:00 2001
From: Mohit Natoo <mohitnatoo@gmail.com>
Date: Wed, 10 May 2017 16:04:13 +0700
Subject: [Foreign Key] Don't worry about the building identifier if name is
 already present.

---
 .../active_record/connection_adapters/abstract/schema_statements.rb  | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

(limited to 'activerecord')

diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
index 13629dee7f..16a398f631 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
@@ -1280,9 +1280,10 @@ module ActiveRecord
         end
 
         def foreign_key_name(table_name, options)
-          identifier = "#{table_name}_#{options.fetch(:column)}_fk"
-          hashed_identifier = Digest::SHA256.hexdigest(identifier).first(10)
           options.fetch(:name) do
+            identifier = "#{table_name}_#{options.fetch(:column)}_fk"
+            hashed_identifier = Digest::SHA256.hexdigest(identifier).first(10)
+
             "fk_rails_#{hashed_identifier}"
           end
         end
-- 
cgit v1.2.3