# File lib/active_schema/column.rb, line 52 def primary_key @connection.primary_key(@table_name) end
class ActiveSchema::Column::Pruner
Public Class Methods
new(connection, table_name, specified_columns)
click to toggle source
# File lib/active_schema/column.rb, line 38 def initialize connection, table_name, specified_columns @connection, @table_name, @specified_columns = \ connection, table_name, specified_columns.map(&:to_s) @connection.reset! prune_as_needed end
Private Instance Methods
existing_columns()
click to toggle source
# File lib/active_schema/column.rb, line 60 def existing_columns @connection.columns(@table_name).map(&:name).map(&:to_s) end
primary_key()
click to toggle source
prune_as_needed()
click to toggle source
# File lib/active_schema/column.rb, line 46 def prune_as_needed (existing_columns - Array(primary_key) - @specified_columns).each do |column_name| remove_column(column_name) end end
remove_column(column_name)
click to toggle source
# File lib/active_schema/column.rb, line 56 def remove_column column_name @connection.remove_column(@table_name, column_name) end