Class: ActiveRecord::ConnectionAdapters::PostgreSQL::TableDefinition
- Inherits:
-
TableDefinition
- Object
- TableDefinition
- ActiveRecord::ConnectionAdapters::PostgreSQL::TableDefinition
- Includes:
- ColumnMethods
- Defined in:
- lib/active_record/connection_adapters/postgresql/schema_definitions.rb
Overview
Active Record PostgreSQL Adapter Table Definition
Instance Attribute Summary collapse
-
#exclusion_constraints ⇒ Object
readonly
Returns the value of attribute exclusion_constraints.
-
#unique_constraints ⇒ Object
readonly
Returns the value of attribute unique_constraints.
-
#unlogged ⇒ Object
readonly
Returns the value of attribute unlogged.
Attributes inherited from TableDefinition
#as, #check_constraints, #comment, #foreign_keys, #if_not_exists, #indexes, #name, #options, #temporary
Instance Method Summary collapse
- #exclusion_constraint(expression, **options) ⇒ Object
-
#initialize ⇒ TableDefinition
constructor
A new instance of TableDefinition.
-
#new_column_definition(name, type, **options) ⇒ Object
:nodoc:.
-
#new_exclusion_constraint_definition(expression, options) ⇒ Object
:nodoc:.
-
#new_unique_constraint_definition(column_name, options) ⇒ Object
:nodoc:.
- #unique_constraint(column_name, **options) ⇒ Object
Methods included from ColumnMethods
Methods inherited from TableDefinition
#[], #check_constraint, #column, #columns, #foreign_key, #index, #new_check_constraint_definition, #new_foreign_key_definition, #primary_keys, #references, #remove_column, #set_primary_key, #timestamps
Methods included from ColumnMethods
Constructor Details
#initialize ⇒ TableDefinition
Returns a new instance of TableDefinition.
244 245 246 247 248 249 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 244 def initialize(*, **) super @exclusion_constraints = [] @unique_constraints = [] @unlogged = ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.create_unlogged_tables end |
Instance Attribute Details
#exclusion_constraints ⇒ Object (readonly)
Returns the value of attribute exclusion_constraints.
242 243 244 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 242 def exclusion_constraints @exclusion_constraints end |
#unique_constraints ⇒ Object (readonly)
Returns the value of attribute unique_constraints.
242 243 244 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 242 def unique_constraints @unique_constraints end |
#unlogged ⇒ Object (readonly)
Returns the value of attribute unlogged.
242 243 244 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 242 def unlogged @unlogged end |
Instance Method Details
#exclusion_constraint(expression, **options) ⇒ Object
251 252 253 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 251 def exclusion_constraint(expression, **) exclusion_constraints << new_exclusion_constraint_definition(expression, ) end |
#new_column_definition(name, type, **options) ⇒ Object
:nodoc:
269 270 271 272 273 274 275 276 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 269 def new_column_definition(name, type, **) # :nodoc: case type when :virtual type = [:type] end super end |
#new_exclusion_constraint_definition(expression, options) ⇒ Object
:nodoc:
259 260 261 262 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 259 def new_exclusion_constraint_definition(expression, ) # :nodoc: = @conn.(name, expression, ) ExclusionConstraintDefinition.new(name, expression, ) end |
#new_unique_constraint_definition(column_name, options) ⇒ Object
:nodoc:
264 265 266 267 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 264 def new_unique_constraint_definition(column_name, ) # :nodoc: = @conn.(name, column_name, ) UniqueConstraintDefinition.new(name, column_name, ) end |
#unique_constraint(column_name, **options) ⇒ Object
255 256 257 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 255 def unique_constraint(column_name, **) unique_constraints << new_unique_constraint_definition(column_name, ) end |