Module: Lincoln::ChangeTableOptimization
- Defined in:
- lib/lincoln/mysql_adapter.rb
Instance Method Summary collapse
- #add_column(table_name, column_name, type, options = {}) ⇒ Object
- #change_table(table_name) ⇒ Object
- #index_name(table_name, options) ⇒ Object
- #remove_column(table_name, *column_names) ⇒ Object
- #rename_column_with_tracking(table_name, column_name, new_column_name) ⇒ Object
Instance Method Details
#add_column(table_name, column_name, type, options = {}) ⇒ Object
28 29 30 31 |
# File 'lib/lincoln/mysql_adapter.rb', line 28 def add_column(table_name, column_name, type, = {}) track("add", column_name) super end |
#change_table(table_name) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/lincoln/mysql_adapter.rb', line 14 def change_table(table_name) @table_name = table_name @new_table_name = generate_table_name(table_name) copy_table_structure(table_name, @new_table_name) super(@new_table_name) copy_data(table_name, @new_table_name) swap_tables(@new_table_name, table_name) @table_name = nil @new_table_name = nil end |
#index_name(table_name, options) ⇒ Object
43 44 45 46 47 48 |
# File 'lib/lincoln/mysql_adapter.rb', line 43 def index_name(table_name, ) if @table_name != nil return super(@table_name, ) end super(table_name, ) end |
#remove_column(table_name, *column_names) ⇒ Object
33 34 35 36 |
# File 'lib/lincoln/mysql_adapter.rb', line 33 def remove_column(table_name, *column_names) column_names.each { |c| track("remove", c) } super end |
#rename_column_with_tracking(table_name, column_name, new_column_name) ⇒ Object
38 39 40 41 |
# File 'lib/lincoln/mysql_adapter.rb', line 38 def rename_column_with_tracking(table_name, column_name, new_column_name) track("rename", [column_name, new_column_name]) rename_column_without_tracking(table_name, column_name, new_column_name) end |