module Spectacles::SchemaStatements::SQLite3Adapter
Public Instance Methods
generate_view_query(*columns)
click to toggle source
# File lib/spectacles/schema_statements/sqlite3_adapter.rb, line 23 def generate_view_query(*columns) <<-SQL SELECT #{columns.join(',')} FROM sqlite_master WHERE type = 'view' SQL end
tables(name = nil, table_name = nil)
click to toggle source
overrides the tables
method from ActiveRecord's SQLite3Adapter
to return only tables, and not views.
# File lib/spectacles/schema_statements/sqlite3_adapter.rb, line 10 def tables(name = nil, table_name = nil) sql = <<-SQL SELECT name FROM sqlite_master WHERE type = 'table' AND NOT name = 'sqlite_sequence' SQL sql << " AND name = #{quote_table_name(table_name)}" if table_name exec_query(sql, 'SCHEMA').map do |row| row['name'] end end
view_build_query(table_name)
click to toggle source
# File lib/spectacles/schema_statements/sqlite3_adapter.rb, line 39 def view_build_query(table_name) sql = generate_view_query(:sql) sql << " AND name = #{quote_table_name(table_name)}" row = exec_query(sql, "SCHEMA").first row['sql'].gsub(/CREATE VIEW .*? AS/i, "") end