Methods
Class Public methods
new(options = {})
📝 Source code
# File railties/lib/rails/commands/dbconsole/dbconsole_command.rb, line 12
def initialize(options = {})
@options = options
@options[:environment] ||= Rails::Command.environment
end
🔎 See on GitHub
start(*args)
📝 Source code
# File railties/lib/rails/commands/dbconsole/dbconsole_command.rb, line 8
def self.start(*args)
new(*args).start
end
🔎 See on GitHub
Instance Public methods
database()
📝 Source code
# File railties/lib/rails/commands/dbconsole/dbconsole_command.rb, line 43
def database
@options[:database]
end
🔎 See on GitHub
db_config()
📝 Source code
# File railties/lib/rails/commands/dbconsole/dbconsole_command.rb, line 23
def db_config
return @db_config if defined?(@db_config)
# If the user provided a database, use that. Otherwise find
# the first config in the database.yml
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 @db_config
missing_db = database ? "'#{database}' database is not" : "No databases are"
raise ActiveRecord::AdapterNotSpecified,
"#{missing_db} configured for '#{environment}'. Available configuration: #{configurations.inspect}"
end
@db_config
end
🔎 See on GitHub
environment()
📝 Source code
# File railties/lib/rails/commands/dbconsole/dbconsole_command.rb, line 47
def environment
@options[:environment]
end
🔎 See on GitHub
start()
📝 Source code
# File railties/lib/rails/commands/dbconsole/dbconsole_command.rb, line 17
def start
adapter_class.dbconsole(db_config, @options)
rescue NotImplementedError
abort "Unknown command-line client for #{db_config.database}."
end
🔎 See on GitHub
Instance Private methods
configurations()
📝 Source code
# File railties/lib/rails/commands/dbconsole/dbconsole_command.rb, line 60
def configurations # :doc:
require APP_PATH
ActiveRecord::Base.configurations = Rails.application.config.database_configuration
ActiveRecord::Base.configurations
end
🔎 See on GitHub
find_cmd_and_exec(commands, *args)
📝 Source code
# File railties/lib/rails/commands/dbconsole/dbconsole_command.rb, line 66
def find_cmd_and_exec(commands, *args) # :doc:
Rails.deprecator.warn(<<~MSG.squish)
Rails::DBConsole#find_cmd_and_exec is deprecated and will be removed in Rails 7.2.
Please use find_cmd_and_exec on the connection adapter class instead.
MSG
ActiveRecord::Base.connection.find_cmd_and_exec(commands, *args)
end
🔎 See on GitHub