# File lib/arjdbc/postgresql/base/schema_definitions.rb, line 88 def primary_key(name, type = :primary_key, options = {}) return super unless type == :uuid options[:default] = options.fetch(:default, 'uuid_generate_v4()') options[:primary_key] = true column name, type, options end
class ActiveRecord::ConnectionAdapters::PostgreSQL::TableDefinition
Public Instance Methods
column(name, type = nil, options = {})
click to toggle source
Calls superclass method
# File lib/arjdbc/postgresql/base/schema_definitions.rb, line 95 def column(name, type = nil, options = {}) super column = self[name] # NOTE: <= 3.1 no #new_column_definition hard-coded ColumnDef.new : # column = self[name] || ColumnDefinition.new(@base, name, type) # thus we simply do not support array column definitions on <= 3.1 column.array = options[:array] if column.is_a?(ColumnDefinition) self end
primary_key(name, type = :primary_key, options = {})
click to toggle source
Calls superclass method
Private Instance Methods
create_column_definition(name, type)
click to toggle source
# File lib/arjdbc/postgresql/base/schema_definitions.rb, line 109 def create_column_definition(name, type) ColumnDefinition.new name, type end
new_column_definition(base, name, type)
click to toggle source
# File lib/arjdbc/postgresql/base/schema_definitions.rb, line 115 def new_column_definition(base, name, type) definition = ColumnDefinition.new base, name, type @columns << definition @columns_hash[name] = definition definition end