aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/tasks
diff options
context:
space:
mode:
authoryuuji.yaginuma <yuuji.yaginuma@gmail.com>2019-07-11 07:16:54 +0900
committeryuuji.yaginuma <yuuji.yaginuma@gmail.com>2019-07-11 07:18:11 +0900
commitac41b73d97a80f2552196516e29d7e3335e2d556 (patch)
tree0b8870ae91f73c58131f954bb663d8ac6ba8a7c4 /activerecord/lib/active_record/tasks
parent6e40b131d2c7208e116d267e4b40dcf621f8b442 (diff)
downloadrails-ac41b73d97a80f2552196516e29d7e3335e2d556.tar.gz
rails-ac41b73d97a80f2552196516e29d7e3335e2d556.tar.bz2
rails-ac41b73d97a80f2552196516e29d7e3335e2d556.zip
MySQL: Check error number instead of a message
To be able to check regardless of locale.
Diffstat (limited to 'activerecord/lib/active_record/tasks')
-rw-r--r--activerecord/lib/active_record/tasks/mysql_database_tasks.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/tasks/mysql_database_tasks.rb b/activerecord/lib/active_record/tasks/mysql_database_tasks.rb
index 0d9917a4db..a7e04007a9 100644
--- a/activerecord/lib/active_record/tasks/mysql_database_tasks.rb
+++ b/activerecord/lib/active_record/tasks/mysql_database_tasks.rb
@@ -3,6 +3,8 @@
module ActiveRecord
module Tasks # :nodoc:
class MySQLDatabaseTasks # :nodoc:
+ ER_DB_CREATE_EXISTS = 1007
+
delegate :connection, :establish_connection, to: ActiveRecord::Base
def initialize(configuration)
@@ -14,7 +16,7 @@ module ActiveRecord
connection.create_database configuration["database"], creation_options
establish_connection configuration
rescue ActiveRecord::StatementInvalid => error
- if error.message.include?("database exists")
+ if error.cause.error_number == ER_DB_CREATE_EXISTS
raise DatabaseAlreadyExists
else
raise