class MysqlInterface
Attributes
config[RW]
options[RW]
Public Class Methods
new(config)
click to toggle source
# File lib/db_helper/mysql_interface.rb, line 7 def initialize(config) @config = config.symbolize_keys @config[:username] ||= 'root' @options = "--user=#{@config[:username]}" [:password,:host,:port,:socket].each do |opt| @options += " --#{opt}=#{@config[opt]}" unless @config[opt].blank? end end
Public Instance Methods
admin()
click to toggle source
# File lib/db_helper/mysql_interface.rb, line 46 def admin end
csv_import(csv_file_full_path, columns, csv_options = {})
click to toggle source
# File lib/db_helper/mysql_interface.rb, line 34 def csv_import(csv_file_full_path, columns, csv_options = {}) csv_options['fields-terminated-by'] ||= "','" csv_options['fields-enclosed-by'] ||= "'\"'" csv_options['lines-terminated-by'] ||= "'\n'" csv_options['ignore-lines'] = '1' # Ignore first line so it can be used to show columns `mysqlimport #{@options} #{database} \ #{csv_options.map{|k,v| "--#{k}=#{v}"}.join(' ')} \ --columns='#{columns.join(',')}' \ --local \ #{csv_file_full_path}` end
database()
click to toggle source
# File lib/db_helper/mysql_interface.rb, line 16 def database @config[:database] end
drop_and_create()
click to toggle source
# File lib/db_helper/mysql_interface.rb, line 20 def drop_and_create puts "0. Dropping and creating database" begin command "mysqladmin #{@options} drop --force #{database}" rescue puts "database doesn't exist. Skipping drop" end command "mysqladmin #{@options} create #{database}" end
import(file)
click to toggle source
# File lib/db_helper/mysql_interface.rb, line 30 def import(file) command "mysql #{@options} #{database} < #{file.gsub('.gz', '')}" end