Module: SchemaPlus::Views::ActiveRecord::ConnectionAdapters::Sqlite3Adapter

Defined in:
lib/schema_plus/views/active_record/connection_adapters/sqlite3_adapter.rb

Instance Method Summary collapse

Instance Method Details

#view_full_definition(view_name, name = nil) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/schema_plus/views/active_record/connection_adapters/sqlite3_adapter.rb', line 6

def view_full_definition(view_name, name = nil)
  data = SchemaMonkey::Middleware::Schema::ViewDefinition.start(connection: self, view_name: view_name, query_name: name, view_type: :view) { |env|
    sql = env.connection.execute("SELECT sql FROM sqlite_master WHERE type='view' AND name=#{quote(env.view_name)}", env.query_name).collect{|row| row["sql"]}.first
    sql.sub!(/^CREATE VIEW \S* AS\s+/im, '') unless sql.nil?
    env.definition = sql
  }

  [data.definition, data.view_type]
end