Class: MysqlInspector::Access

Inherits:
Object
  • Object
show all
Defined in:
lib/mysql_inspector/access.rb

Constant Summary collapse

Error =
Class.new(StandardError)

Instance Method Summary collapse

Constructor Details

#initialize(database_name, mysql_user, mysql_password, mysql_path) ⇒ Access

Returns a new instance of Access.



6
7
8
9
10
11
# File 'lib/mysql_inspector/access.rb', line 6

def initialize(database_name, mysql_user, mysql_password, mysql_path)
  @database_name = database_name
  @mysql_user = mysql_user
  @mysql_password = mysql_password
  @mysql_path = mysql_path
end

Instance Method Details

#drop_all_tablesObject



25
26
27
28
29
# File 'lib/mysql_inspector/access.rb', line 25

def drop_all_tables
  return if table_names.empty?

  pipe_to_mysql without_foreign_keys("DROP TABLE #{table_names.join(',')}")
end

#load(schema) ⇒ Object



31
32
33
# File 'lib/mysql_inspector/access.rb', line 31

def load(schema)
  pipe_to_mysql without_foreign_keys(schema)
end

#table_namesObject



13
14
15
# File 'lib/mysql_inspector/access.rb', line 13

def table_names
  rows_from pipe_to_mysql("SHOW TABLES")
end

#tablesObject



17
18
19
20
21
22
23
# File 'lib/mysql_inspector/access.rb', line 17

def tables
  table_names.map { |table|
    rows = rows_from pipe_to_mysql("SHOW CREATE TABLE #{table}")
    schema = rows[0].split("\t").last.gsub(/\\n/, "\n")
    MysqlInspector::Table.new(schema)
  }
end