Browse Source

Fixed issue #2418 - Missing table name quoting causes MySQL 8 incompatibility.

Thorsten Eckel 6 years ago
parent
commit
3d45432f78

+ 1 - 1
app/models/application_model/can_associations.rb

@@ -134,7 +134,7 @@ returns
       next if association_attributes_ignored.include?(assoc_name)
 
       eager_load.push(assoc_name)
-      pluck.push("#{assoc.table_name}.id AS #{assoc_name}")
+      pluck.push("#{ActiveRecord::Base.connection.quote_table_name(assoc.table_name)}.id AS #{ActiveRecord::Base.connection.quote_table_name(assoc_name)}")
       keys.push("#{assoc_name.to_s.singularize}_ids")
     end
 

+ 1 - 1
app/models/concerns/has_groups.rb

@@ -38,7 +38,7 @@ module HasGroups
       # @return [ActiveRecord::AssociationRelation<[<Group]>] List of Groups with :through attributes
       def access(*access)
         table_name = proxy_association.owner.class.group_through.table_name
-        query      = select("groups.*, #{table_name}.*")
+        query      = select("#{ActiveRecord::Base.connection.quote_table_name('groups')}.*, #{ActiveRecord::Base.connection.quote_table_name(table_name)}.*")
         return query if access.blank?
 
         access.push('full') if !access.include?('full')