diff options
Diffstat (limited to 'railties/lib/rails')
| -rw-r--r-- | railties/lib/rails/commands/dbconsole/dbconsole_command.rb | 16 | 
1 files changed, 14 insertions, 2 deletions
diff --git a/railties/lib/rails/commands/dbconsole/dbconsole_command.rb b/railties/lib/rails/commands/dbconsole/dbconsole_command.rb index b3df5191c6..383149eb81 100644 --- a/railties/lib/rails/commands/dbconsole/dbconsole_command.rb +++ b/railties/lib/rails/commands/dbconsole/dbconsole_command.rb @@ -87,10 +87,15 @@ module Rails      def config        @config ||= begin -        if configurations[environment].blank? +        # We need to check whether the user passed the connection the +        # first time around to show a consistent error message to people +        # relying on 2-level database configuration. +        if @options["connection"] && configurations[connection].blank? +          raise ActiveRecord::AdapterNotSpecified, "'#{connection}' connection is not configured. Available configuration: #{configurations.inspect}" +        elsif configurations[environment].blank? && configurations[connection].blank?            raise ActiveRecord::AdapterNotSpecified, "'#{environment}' database is not configured. Available configuration: #{configurations.inspect}"          else -          configurations[environment] +          configurations[environment].presence || configurations[connection]          end        end      end @@ -99,6 +104,10 @@ module Rails        Rails.respond_to?(:env) ? Rails.env : Rails::Command.environment      end +    def connection +      @options.fetch(:connection, "primary") +    end +      private        def configurations # :doc:          require APP_PATH @@ -145,6 +154,9 @@ module Rails        class_option :environment, aliases: "-e", type: :string,          desc: "Specifies the environment to run this console under (test/development/production)." +      class_option :connection, aliases: "-c", type: :string, +        desc: "Specifies the connection to use." +        def perform          extract_environment_option_from_argument  | 
