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.
250 251 252 253 254 255 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 250 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.
248 249 250 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 248 def exclusion_constraints @exclusion_constraints end |
#unique_constraints ⇒ Object (readonly)
Returns the value of attribute unique_constraints.
248 249 250 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 248 def unique_constraints @unique_constraints end |
#unlogged ⇒ Object (readonly)
Returns the value of attribute unlogged.
248 249 250 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 248 def unlogged @unlogged end |
Instance Method Details
#exclusion_constraint(expression, **options) ⇒ Object
257 258 259 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 257 def exclusion_constraint(expression, **) exclusion_constraints << new_exclusion_constraint_definition(expression, ) end |
#new_column_definition(name, type, **options) ⇒ Object
:nodoc:
275 276 277 278 279 280 281 282 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 275 def new_column_definition(name, type, **) # :nodoc: case type when :virtual type = [:type] end super end |
#new_exclusion_constraint_definition(expression, options) ⇒ Object
:nodoc:
265 266 267 268 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 265 def new_exclusion_constraint_definition(expression, ) # :nodoc: = @conn.(name, expression, ) ExclusionConstraintDefinition.new(name, expression, ) end |
#new_unique_constraint_definition(column_name, options) ⇒ Object
:nodoc:
270 271 272 273 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 270 def new_unique_constraint_definition(column_name, ) # :nodoc: = @conn.(name, column_name, ) UniqueConstraintDefinition.new(name, column_name, ) end |
#unique_constraint(column_name, **options) ⇒ Object
261 262 263 |
# File 'lib/active_record/connection_adapters/postgresql/schema_definitions.rb', line 261 def unique_constraint(column_name, **) unique_constraints << new_unique_constraint_definition(column_name, ) end |