Sha256: 29604de198127e47a81ebc9126ef889650b6b62e88ffdb4cb32314fac5e944c6
Contents?: true
Size: 997 Bytes
Versions: 1
Compression:
Stored size: 997 Bytes
Contents
module SchemaPlusViews module ActiveRecord module ConnectionAdapters module Mysql2Adapter def views(name = nil) views = [] select_all("SELECT table_name FROM information_schema.views WHERE table_schema = SCHEMA()", name).each do |row| views << row["table_name"] end views end def view_definition(view_name, name = nil) results = select_all("SELECT view_definition, check_option FROM information_schema.views WHERE table_schema = SCHEMA() AND table_name = #{quote(view_name)}", name) return nil unless results.any? row = results.first sql = row["view_definition"] sql.gsub!(%r{#{quote_table_name(current_database)}[.]}, '') case row["check_option"] when "CASCADED" then sql += " WITH CASCADED CHECK OPTION" when "LOCAL" then sql += " WITH LOCAL CHECK OPTION" end sql end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
schema_plus-2.0.0.pre3 | lib/schema_plus_views/active_record/connection_adapters/mysql2_adapter.rb |