Module: Spectacles::SchemaStatements::Mysql2Adapter
- Includes:
- AbstractAdapter
- Defined in:
- lib/spectacles/schema_statements/mysql2_adapter.rb
Instance Method Summary collapse
Methods included from AbstractAdapter
#create_materialized_view, #create_view, #create_view_statement, #drop_materialized_view, #drop_view, #drop_view_statement, #materialized_view_build_query, #materialized_view_exists?, #materialized_views, #refresh_materialized_view, #refresh_materialized_view_concurrently, #supports_materialized_views?, #view_exists?
Instance Method Details
#view_build_query(view, name = nil) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/spectacles/schema_statements/mysql2_adapter.rb', line 11 def view_build_query(view, name = nil) result = execute("SHOW CREATE VIEW #{view}", name) algorithm_string = values_from(result).first[1] algorithm_string.gsub(/CREATE .*? (AS)+/i, "") rescue ActiveRecord::StatementInvalid => e raise "No view called #{view} found, #{e}" end |
#views(name = nil) ⇒ Object
:nodoc:
6 7 8 9 |
# File 'lib/spectacles/schema_statements/mysql2_adapter.rb', line 6 def views(name = nil) # :nodoc: result = execute("SHOW FULL TABLES WHERE TABLE_TYPE='VIEW'") values_from(result).map(&:first) end |