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