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



309
310
311
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 309

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



318
319
320
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 318

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



336
337
338
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 336

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



327
328
329
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 327

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



356
357
358
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 356

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



346
347
348
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 346

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