module PgPower::SchemaDumper::ViewMethods

Extends ActiveRecord::SchemaDumper class to dump views

Public Instance Methods

tables_with_views(stream) click to toggle source

Dump create view statements

# File lib/pg_power/schema_dumper/view_methods.rb, line 4
def tables_with_views(stream)
  tables_without_views(stream)
  views(stream)
  stream
end

Private Instance Methods

views(stream) click to toggle source

Generates code to create views.

# File lib/pg_power/schema_dumper/view_methods.rb, line 11
def views(stream)
  # Don't create "system" views.
  view_names = PgPower::Tools.views
  view_names.each do |options|
    write_view_definition(stream,
                          options["table_schema"],
                          options["table_name"],
                          options["view_definition"])
  end
  stream << "\n"
end
write_view_definition(stream, table_schema, table_name, view_definition) click to toggle source

Generates code to create view.

# File lib/pg_power/schema_dumper/view_methods.rb, line 25
def write_view_definition(stream, table_schema, table_name, view_definition)
  stream << "  create_view \"#{table_schema}.#{table_name}\", <<-SQL\n" \
            "    #{view_definition}\n" \
            "  SQL\n"
end