aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2019-01-23 04:52:44 +0900
committerGitHub <noreply@github.com>2019-01-23 04:52:44 +0900
commit0815474d2f3d98e6d6844adaa771cf08ca1b5616 (patch)
treea525e515cc95e476ae2954947f686f56f517fb68 /activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
parent1d359d4bf6775585b0a488678dac3d8b5ff9c634 (diff)
parent3ea3cccc93a375dcc4ddd8279b500fc0732a5a77 (diff)
downloadrails-0815474d2f3d98e6d6844adaa771cf08ca1b5616.tar.gz
rails-0815474d2f3d98e6d6844adaa771cf08ca1b5616.tar.bz2
rails-0815474d2f3d98e6d6844adaa771cf08ca1b5616.zip
Merge pull request #35017 from yahonda/mysql8014
MySQL 8.0.14 adds `ER_FK_INCOMPATIBLE_COLUMNS`
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
index 70d281b62b..5479ddab71 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
@@ -627,6 +627,7 @@ module ActiveRecord
ER_LOCK_WAIT_TIMEOUT = 1205
ER_QUERY_INTERRUPTED = 1317
ER_QUERY_TIMEOUT = 3024
+ ER_FK_INCOMPATIBLE_COLUMNS = 3780
def translate_exception(exception, message:, sql:, binds:)
case error_number(exception)
@@ -634,7 +635,7 @@ module ActiveRecord
RecordNotUnique.new(message, sql: sql, binds: binds)
when ER_NO_REFERENCED_ROW, ER_ROW_IS_REFERENCED, ER_ROW_IS_REFERENCED_2, ER_NO_REFERENCED_ROW_2
InvalidForeignKey.new(message, sql: sql, binds: binds)
- when ER_CANNOT_ADD_FOREIGN
+ when ER_CANNOT_ADD_FOREIGN, ER_FK_INCOMPATIBLE_COLUMNS
mismatched_foreign_key(message, sql: sql, binds: binds)
when ER_CANNOT_CREATE_TABLE
if message.include?("errno: 150")