diff options
| -rw-r--r-- | lib/dbshell/client/database.rb | 3 | ||||
| -rw-r--r-- | lib/dbshell/client/mysql.rb | 5 | ||||
| -rw-r--r-- | spec/dbshell/client/database_spec.rb | 6 | 
3 files changed, 14 insertions, 0 deletions
| diff --git a/lib/dbshell/client/database.rb b/lib/dbshell/client/database.rb index 86cbfef..b6be74b 100644 --- a/lib/dbshell/client/database.rb +++ b/lib/dbshell/client/database.rb @@ -1,5 +1,6 @@  require 'dbshell/client/sqlite3'  require 'dbshell/client/postgres' +require 'dbshell/client/mysql'  module DBShell    module Client @@ -10,6 +11,8 @@ module DBShell            DBShell::Client::SQLite3          when 'postgresql'            DBShell::Client::Postgres +        when 'mysql2' +          DBShell::Client::MySQL          else            raise UnsupportedDatabaseAdapter          end diff --git a/lib/dbshell/client/mysql.rb b/lib/dbshell/client/mysql.rb index 6cb8233..536186a 100644 --- a/lib/dbshell/client/mysql.rb +++ b/lib/dbshell/client/mysql.rb @@ -3,6 +3,11 @@ module DBShell      class MySQL        EXECUTABLE_NAME = 'mysql' +      def self.runshell(db_info) +        args = self.build_command(db_info) +        exec(*args) +      end +        def self.build_command(db_info)          args = [EXECUTABLE_NAME] diff --git a/spec/dbshell/client/database_spec.rb b/spec/dbshell/client/database_spec.rb index d553871..0670334 100644 --- a/spec/dbshell/client/database_spec.rb +++ b/spec/dbshell/client/database_spec.rb @@ -15,6 +15,12 @@ describe DBShell::Client::Database do        }).must_equal(DBShell::Client::Postgres)      end +    it "handles MySQL" do +      DBShell::Client::Database.handler({ +        'adapter' => 'mysql2' +      }).must_equal(DBShell::Client::MySQL) +    end +      it "raises an error if no suitable adapter is found" do        proc do          DBShell::Client::Database.handler({ | 
