Class: Birdwatcher::Commands::Schema
- Inherits:
-
Birdwatcher::Command
- Object
- Birdwatcher::Command
- Birdwatcher::Commands::Schema
- Defined in:
- lib/birdwatcher/commands/schema.rb
Constant Summary
Constants inherited from Birdwatcher::Command
Birdwatcher::Command::ARGUMENT_SEPARATOR
Constants included from Birdwatcher::Concerns::Concurrency
Birdwatcher::Concerns::Concurrency::DEFAULT_THREAD_POOL_SIZE
Constants included from Birdwatcher::Concerns::Core
Birdwatcher::Concerns::Core::DATA_DIRECTORY
Instance Attribute Summary
Attributes inherited from Birdwatcher::Command
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from Birdwatcher::Command
auto_completion, auto_completion_strings, descendants, #execute, has_name?, meta, meta=
Methods included from Birdwatcher::Concerns::Concurrency
Methods included from Birdwatcher::Concerns::Persistence
included, #save_status, #save_user
Methods included from Birdwatcher::Concerns::Presentation
included, #make_status_summary_output, #make_url_summary_output, #make_user_details_output, #make_user_summary_output, #output_status_summary, #output_user_details, #output_user_summary, #page_text
Methods included from Birdwatcher::Concerns::Outputting
#confirm, #error, #fatal, included, #info, #line_separator, #newline, #output, #output_formatted, #task, #warn
Methods included from Birdwatcher::Concerns::Util
#escape_html, #excerpt, included, #parse_time, #pluralize, #strip_control_characters, #strip_html, #suppress_output, #suppress_warnings, #time_ago_in_words, #unescape_html
Methods included from Birdwatcher::Concerns::Core
#console, #current_workspace, #current_workspace=, #database, included, #klout_client, #read_data_file, #twitter_client
Class Method Details
.detailed_usage ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/birdwatcher/commands/schema.rb', line 10 def self.detailed_usage <<-USAGE The #{'schema'.bold} command can be used to get schema information on tables in the database. #{'USAGE:'.bold} #{'List all available tables:'.bold} schema #{'See columns, indexes and foreign keys on a table:'.bold} schema statuses USAGE end |
Instance Method Details
#run ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/birdwatcher/commands/schema.rb', line 25 def run if !arguments? tables = database.tables.sort output_available_tables(tables) return end table = arguments.first.strip tables = database.tables.sort.map(&:to_s) if !tables.include?(table) error("Unknown table: #{table.bold}") newline output_available_tables(tables) return false end schema = database.schema(table.to_sym) indexes = database.indexes(table.to_sym) foreign_keys = database.foreign_key_list(table.to_sym) info("Schema information for table #{table.bold}:") newline output_schema_table(schema) newline info("Indexes on table #{table.bold}:") newline output_index_table(indexes) newline info("Foreign keys on table #{table.bold}:") newline output_foreign_key_table(foreign_keys) newline end |