Class: Ridgepole::MySQL::Partition::SQLBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/ridgepole/mysql/partition/sql_builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(table_name, columns, partition_parser) ⇒ SQLBuilder

Returns a new instance of SQLBuilder.



4
5
6
7
8
# File 'lib/ridgepole/mysql/partition/sql_builder.rb', line 4

def initialize(table_name, columns, partition_parser)
  @table_name = table_name
  @columns = columns.is_a?(Array) ? columns : [columns]
  @partition_parser = partition_parser
end

Instance Method Details

#to_sqlObject



10
11
12
13
14
15
16
# File 'lib/ridgepole/mysql/partition/sql_builder.rb', line 10

def to_sql
  <<-SQL
ALTER TABLE #{@table_name} #{@partition_parser.alter_keyword} COLUMNS(#{@columns.join(",")}) (
#{@partition_parser.partition_string}
);
  SQL
end