Class: Rails::DBConsole
Relationships & Source Files | |
Inherits: | Object |
Defined in: | railties/lib/rails/commands/dbconsole/dbconsole_command.rb |
Class Method Summary
- .new(options = {}) ⇒ DBConsole constructor
- .start(*args)
Instance Method Summary
- #database
- #db_config
- #environment
- #start
- #adapter_class private
- #configurations private
Constructor Details
.new(options = {}) ⇒ DBConsole
# File 'railties/lib/rails/commands/dbconsole/dbconsole_command.rb', line 12
def initialize( = {}) @options = @options[:environment] ||= Rails::Command.environment end
Class Method Details
.start(*args)
[ GitHub ]# File 'railties/lib/rails/commands/dbconsole/dbconsole_command.rb', line 8
def self.start(*args) new(*args).start end
Instance Method Details
#adapter_class (private)
[ GitHub ]# File 'railties/lib/rails/commands/dbconsole/dbconsole_command.rb', line 53
def adapter_class ActiveRecord::ConnectionAdapters.resolve(db_config.adapter) rescue LoadError ActiveRecord::ConnectionAdapters::AbstractAdapter end
#configurations (private)
[ GitHub ]# File 'railties/lib/rails/commands/dbconsole/dbconsole_command.rb', line 59
def configurations # :doc: require APP_PATH ActiveRecord::Base.configurations = Rails.application.config.database_configuration ActiveRecord::Base.configurations end
#database
[ GitHub ]# File 'railties/lib/rails/commands/dbconsole/dbconsole_command.rb', line 44
def database @options[:database] end
#db_config
[ GitHub ]# File 'railties/lib/rails/commands/dbconsole/dbconsole_command.rb', line 23
def db_config @db_config ||= begin # If the user provided a database, use that. Otherwise find # the first config in the database.yml config = if database @db_config = configurations.configs_for(env_name: environment, name: database, include_hidden: true) else @db_config = configurations.find_db_config(environment) end unless config missing_db = database ? "'#{database}' database is not" : "No databases are" raise ActiveRecord::AdapterNotSpecified, "#{missing_db} configured for '#{environment}'. Available configuration: #{configurations.inspect}" end config.validate! config end end
#environment
[ GitHub ]# File 'railties/lib/rails/commands/dbconsole/dbconsole_command.rb', line 48
def environment @options[:environment] end
#start
[ GitHub ]# File 'railties/lib/rails/commands/dbconsole/dbconsole_command.rb', line 17
def start adapter_class.dbconsole(db_config, @options) rescue NotImplementedError, ActiveRecord::AdapterNotFound, LoadError => error abort error. end