Module: Spectacles::SchemaStatements::MysqlAdapter

Includes:
AbstractAdapter
Included in:
Mysql2Adapter
Defined in:
lib/spectacles/schema_statements/mysql_adapter.rb

Instance Method Summary collapse

Methods included from AbstractAdapter

#create_view, #create_view_statement, #drop_view, #drop_view_statement, #view_exists?

Instance Method Details

#view_build_query(view, name = nil) ⇒ Object



12
13
14
15
16
17
# File 'lib/spectacles/schema_statements/mysql_adapter.rb', line 12

def view_build_query(view, name = nil)
  row = execute("SHOW CREATE VIEW #{view}", name).first
  return row[1].gsub(/CREATE .*? (AS)+/i, "")
rescue ActiveRecord::StatementInvalid => e
  raise "No view called #{view} found"
end

#views(name = nil) ⇒ Object

:nodoc:



8
9
10
# File 'lib/spectacles/schema_statements/mysql_adapter.rb', line 8

def views(name = nil) #:nodoc:
  execute("SHOW FULL TABLES WHERE TABLE_TYPE='VIEW'").map { |row| row[0] }
end