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({ |