Module: Parts::ModelMethods
- Defined in:
- lib/parts/model_methods.rb
Instance Method Summary collapse
- #create_list_child(child_table_name, values) ⇒ Object
- #create_range_child(child_table_name, start_range:, end_range:) ⇒ Object
- #in_partition(child_table_name) ⇒ Object
- #partitions ⇒ Object
Instance Method Details
#create_list_child(child_table_name, values) ⇒ Object
33 34 35 |
# File 'lib/parts/model_methods.rb', line 33 def create_list_child(child_table_name, values) transaction { connection.create_list_child_of(table_name, child_table_name, values) } end |
#create_range_child(child_table_name, start_range:, end_range:) ⇒ Object
29 30 31 |
# File 'lib/parts/model_methods.rb', line 29 def create_range_child(child_table_name, start_range:, end_range:) transaction { connection.create_range_child_of(table_name, child_table_name, start_range: start_range, end_range: end_range) } end |
#in_partition(child_table_name) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/parts/model_methods.rb', line 11 def in_partition(child_table_name) Class.new(self) do self.table_name = child_table_name def self.name superclass.name end def self.allocate superclass.allocate end def self.new(*args, &blk) superclass.new(*args, &blk) end end end |
#partitions ⇒ Object
5 6 7 8 9 |
# File 'lib/parts/model_methods.rb', line 5 def partitions connection.select_values " SELECT inhrelid::regclass::text FROM pg_inherits WHERE inhparent = \#{connection.quote(table_name)}::regclass;\n SQL\nend\n" |