Class: ActiveRecord::ConnectionAdapters::PostgreSQL::Table

Inherits:
Table
  • Object
show all
Includes:
ColumnMethods
Defined in:
lib/active_record/connection_adapters/postgresql/schema_definitions.rb

Overview

Active Record PostgreSQL Adapter Table

Instance Attribute Summary

Attributes inherited from Table

#name

Instance Method Summary collapse

Methods included from ColumnMethods

#primary_key

Methods inherited from Table

#change, #change_default, #change_null, #check_constraint, #check_constraint_exists?, #column, #column_exists?, #foreign_key, #foreign_key_exists?, #index, #index_exists?, #initialize, #references, #remove, #remove_check_constraint, #remove_foreign_key, #remove_index, #remove_references, #remove_timestamps, #rename, #rename_index, #timestamps

Methods included from ColumnMethods

#primary_key

Constructor Details

This class inherits a constructor from ActiveRecord::ConnectionAdapters::Table

Instance Method Details

#exclusion_constraint(*args) ⇒ Object

Adds an exclusion constraint.

t.exclusion_constraint("price WITH =, availability_range WITH &&", using: :gist, name: "price_check")

See connection.add_exclusion_constraint



311
312
313
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 311

def exclusion_constraint(*args)
  @base.add_exclusion_constraint(name, *args)
end

#remove_exclusion_constraint(*args) ⇒ Object

Removes the given exclusion constraint from the table.

t.remove_exclusion_constraint(name: "price_check")

See connection.remove_exclusion_constraint



320
321
322
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 320

def remove_exclusion_constraint(*args)
  @base.remove_exclusion_constraint(name, *args)
end

#remove_unique_constraint(*args) ⇒ Object

Removes the given unique constraint from the table.

t.remove_unique_constraint(name: "unique_position")

See connection.remove_unique_constraint



338
339
340
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 338

def remove_unique_constraint(*args)
  @base.remove_unique_constraint(name, *args)
end

#unique_constraint(*args) ⇒ Object

Adds a unique constraint.

t.unique_constraint(:position, name: 'unique_position', deferrable: :deferred, nulls_not_distinct: true)

See connection.add_unique_constraint



329
330
331
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 329

def unique_constraint(*args)
  @base.add_unique_constraint(name, *args)
end

#validate_check_constraint(*args) ⇒ Object

Validates the given check constraint on the table

t.check_constraint("price > 0", name: "price_check", validate: false)
t.validate_check_constraint name: "price_check"

See connection.validate_check_constraint



358
359
360
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 358

def validate_check_constraint(*args)
  @base.validate_check_constraint(name, *args)
end

#validate_constraint(*args) ⇒ Object

Validates the given constraint on the table.

t.check_constraint("price > 0", name: "price_check", validate: false)
t.validate_constraint "price_check"

See connection.validate_constraint



348
349
350
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 348

def validate_constraint(*args)
  @base.validate_constraint(name, *args)
end