diff --git a/.travis.yml b/.travis.yml
index bb325f3f99ddd8b33b435cc07556fe7fc7cff84f..d8587bf5da195c16f50a0cb56a0b7970d74f1a66 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -22,6 +22,8 @@ gemfile:
   - gemfiles/Gemfile.rails3.2
   - gemfiles/Gemfile.rails4.1
   - gemfiles/Gemfile.rails5.0
+before_install:
+  - which bundle >/dev/null 2>&1 || gem install bundler
 matrix:
   exclude:
     - rvm: 1.9.3
diff --git a/Gemfile b/Gemfile
index 128b94fda783a6366b719f50a4d2160261a117d4..b52115ad50e1346896e84b26ab10e0e3d0c4ffc8 100644
--- a/Gemfile
+++ b/Gemfile
@@ -31,14 +31,14 @@ group :test do
   gem 'webmock'
 
   platforms :ruby do
-    gem 'pg'
+    gem 'pg', '~> 0.11'
     gem 'mysql2', '~> 0.3.11'
   end
 
   platforms :jruby do
     gem 'jdbc-mysql'
     gem 'jdbc-sqlite3'
-    gem 'activerecord-jdbcpostgresql-adapter'
+    gem 'activerecord-jdbcpostgresql-adapter', '~> 1.3.0'
   end
 end
 
diff --git a/Rakefile b/Rakefile
index c7d1063269103798fe90403ad75bf51af73d6a06..83de4cdd533fefae0a928709d7d81c65c30f58c2 100644
--- a/Rakefile
+++ b/Rakefile
@@ -32,7 +32,7 @@ namespace :db do
 
     desc 'Drop the MySQL test databases'
     task :drop do
-      `mysqladmin --user=#{config['mysql']['username']} -f drop #{config['mysql']['database']}`
+      `mysql --user=#{config['mysql']['username']} -e "DROP DATABASE IF EXISTS #{config['mysql']['database']}"`
     end
   end
 
@@ -44,7 +44,7 @@ namespace :db do
 
     desc 'Drop the PostgreSQL test databases'
     task :drop do
-      `dropdb #{config['postgres']['database']}`
+      `dropdb --if-exists #{config['postgres']['database']}`
     end
   end
 
diff --git a/gemfiles/Gemfile.rails3.2 b/gemfiles/Gemfile.rails3.2
index da838d6ab85e9806611fbffc366a79015f50ca88..8eed6ddc627358ce0c6a88c65c8a3f7aff7dd891 100644
--- a/gemfiles/Gemfile.rails3.2
+++ b/gemfiles/Gemfile.rails3.2
@@ -31,13 +31,13 @@ group :test do
   gem 'webmock'
 
   platforms :ruby do
-    gem 'pg'
+    gem 'pg', '~> 0.11'
     gem 'mysql2', '~> 0.3.11'
   end
 
   platforms :jruby do
     gem 'jdbc-mysql'
     gem 'jdbc-sqlite3'
-    gem 'activerecord-jdbcpostgresql-adapter'
+    gem 'activerecord-jdbcpostgresql-adapter', '~> 1.3.0'
   end
 end
diff --git a/gemfiles/Gemfile.rails4.1 b/gemfiles/Gemfile.rails4.1
index 34f96168bed207f6e0bcf84aef0a083739aa855f..b9b0a9448036dad69042b6c10d37280ddb5fcd55 100644
--- a/gemfiles/Gemfile.rails4.1
+++ b/gemfiles/Gemfile.rails4.1
@@ -31,13 +31,13 @@ group :test do
   gem 'webmock'
 
   platforms :ruby do
-    gem 'pg'
+    gem 'pg', '~> 0.11'
     gem 'mysql2', '~> 0.3.11'
   end
 
   platforms :jruby do
     gem 'jdbc-mysql'
     gem 'jdbc-sqlite3'
-    gem 'activerecord-jdbcpostgresql-adapter'
+    gem 'activerecord-jdbcpostgresql-adapter', '~> 1.3.0'
   end
 end
diff --git a/gemfiles/Gemfile.rails5.0 b/gemfiles/Gemfile.rails5.0
index 07a4aaa87704c0d4a12f74cea7c93fe7c42e5417..21370903a2e514db6df61367362ed83163559458 100644
--- a/gemfiles/Gemfile.rails5.0
+++ b/gemfiles/Gemfile.rails5.0
@@ -31,7 +31,7 @@ group :test do
   gem 'webmock'
 
   platforms :ruby do
-    gem 'pg'
+    gem 'pg', '~> 0.18'
     gem 'mysql2', '~> 0.3.11'
   end