aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
diff options
context:
space:
mode:
authorJeremy Daer (Kemper) <jeremydaer@gmail.com>2015-09-19 15:32:17 -0700
committerJeremy Daer (Kemper) <jeremydaer@gmail.com>2015-09-19 15:32:17 -0700
commit1524c01161048f7d2aa9e747c2687a93340a217e (patch)
treeb8f04e5dc9321239c6784567c60f0393923cbaa7 /activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
parent1e638c552075ead707f31dfddf793e414ee69354 (diff)
parentab12859947a1faeac3df93ebeb54efc572cf1803 (diff)
downloadrails-1524c01161048f7d2aa9e747c2687a93340a217e.tar.gz
rails-1524c01161048f7d2aa9e747c2687a93340a217e.tar.bz2
rails-1524c01161048f7d2aa9e747c2687a93340a217e.zip
Merge pull request #21614 from kamipo/correctly_dump_composite_primary_key
Correctly dump composite primary key
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
index 2c76dd1518..10329de5f4 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
@@ -23,6 +23,9 @@ module ActiveRecord
class ChangeColumnDefinition < Struct.new(:column, :name) #:nodoc:
end
+ class PrimaryKeyDefinition < Struct.new(:name) # :nodoc:
+ end
+
class ForeignKeyDefinition < Struct.new(:from_table, :to_table, :options) #:nodoc:
def name
options[:name]
@@ -207,6 +210,7 @@ module ActiveRecord
@columns_hash = {}
@indexes = {}
@foreign_keys = {}
+ @primary_keys = nil
@native = types
@temporary = temporary
@options = options
@@ -214,6 +218,11 @@ module ActiveRecord
@name = name
end
+ def primary_keys(name = nil) # :nodoc:
+ @primary_keys = PrimaryKeyDefinition.new(name) if name
+ @primary_keys
+ end
+
# Returns an array of ColumnDefinition objects for the columns of the table.
def columns; @columns_hash.values; end