Class: ActiveRecord::ConnectionAdapters::ClickHouse::TableDefinition
- Inherits:
-
ConnectionAdapters::TableDefinition
- Object
- ConnectionAdapters::TableDefinition
- ActiveRecord::ConnectionAdapters::ClickHouse::TableDefinition
- Defined in:
- lib/active_record/connection_adapters/clickhouse/schema_definitions.rb
Instance Attribute Summary collapse
-
#engine ⇒ Object
readonly
Returns the value of attribute engine.
-
#partition ⇒ Object
readonly
Returns the value of attribute partition.
-
#primary_key_clause ⇒ Object
readonly
Returns the value of attribute primary_key_clause.
-
#sample ⇒ Object
readonly
Returns the value of attribute sample.
-
#table_settings ⇒ Object
readonly
Returns the value of attribute table_settings.
-
#ttl ⇒ Object
readonly
Returns the value of attribute ttl.
Instance Method Summary collapse
-
#initialize(conn, name, engine: "MergeTree", order: nil, partition: nil, ttl: nil, settings: nil, primary_key_clause: nil, sample: nil) ⇒ TableDefinition
constructor
A new instance of TableDefinition.
-
#order ⇒ Object
A Rails-style id: table carries its own obvious sorting key — the pk column — so create_table works without an explicit order: (decision #64).
Constructor Details
#initialize(conn, name, engine: "MergeTree", order: nil, partition: nil, ttl: nil, settings: nil, primary_key_clause: nil, sample: nil) ⇒ TableDefinition
Returns a new instance of TableDefinition.
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/active_record/connection_adapters/clickhouse/schema_definitions.rb', line 9 def initialize(conn, name, engine: "MergeTree", order: nil, partition: nil, ttl: nil, settings: nil, primary_key_clause: nil, sample: nil, **) @engine = engine @order = order @partition = partition @ttl = ttl @table_settings = settings @primary_key_clause = primary_key_clause @sample = sample super(conn, name, **) end |
Instance Attribute Details
#engine ⇒ Object (readonly)
Returns the value of attribute engine.
7 8 9 |
# File 'lib/active_record/connection_adapters/clickhouse/schema_definitions.rb', line 7 def engine @engine end |
#partition ⇒ Object (readonly)
Returns the value of attribute partition.
7 8 9 |
# File 'lib/active_record/connection_adapters/clickhouse/schema_definitions.rb', line 7 def partition @partition end |
#primary_key_clause ⇒ Object (readonly)
Returns the value of attribute primary_key_clause.
7 8 9 |
# File 'lib/active_record/connection_adapters/clickhouse/schema_definitions.rb', line 7 def primary_key_clause @primary_key_clause end |
#sample ⇒ Object (readonly)
Returns the value of attribute sample.
7 8 9 |
# File 'lib/active_record/connection_adapters/clickhouse/schema_definitions.rb', line 7 def sample @sample end |
#table_settings ⇒ Object (readonly)
Returns the value of attribute table_settings.
7 8 9 |
# File 'lib/active_record/connection_adapters/clickhouse/schema_definitions.rb', line 7 def table_settings @table_settings end |
#ttl ⇒ Object (readonly)
Returns the value of attribute ttl.
7 8 9 |
# File 'lib/active_record/connection_adapters/clickhouse/schema_definitions.rb', line 7 def ttl @ttl end |
Instance Method Details
#order ⇒ Object
A Rails-style id: table carries its own obvious sorting key — the pk column — so create_table works without an explicit order: (decision #64).
23 24 25 |
# File 'lib/active_record/connection_adapters/clickhouse/schema_definitions.rb', line 23 def order @order || columns.find { |column| column.[:primary_key] }&.name&.to_s end |