diff options
author | Andrew White <pixeltrix@users.noreply.github.com> | 2017-04-19 13:16:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-19 13:16:19 +0100 |
commit | 809421811440391d596c63fb65e2a4a0424027ef (patch) | |
tree | 47a3f1b8a9890322c0f4ca67fc5aacd39d63d3f8 /activerecord/lib | |
parent | dc107956c933269d652cb8d283cf071bdbdb2066 (diff) | |
parent | 7695f35baa0f45c5742de03a9b26595b2bc49008 (diff) | |
download | rails-809421811440391d596c63fb65e2a4a0424027ef.tar.gz rails-809421811440391d596c63fb65e2a4a0424027ef.tar.bz2 rails-809421811440391d596c63fb65e2a4a0424027ef.zip |
Merge pull request #28793 from kamipo/use_quoted_scope_to_respect_current_database
Use `quoted_scope` rather than `@config[:database]` to respect current database
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/mysql/schema_dumper.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/mysql/schema_dumper.rb b/activerecord/lib/active_record/connection_adapters/mysql/schema_dumper.rb index 3e0afd9761..e2ba0ba1a0 100644 --- a/activerecord/lib/active_record/connection_adapters/mysql/schema_dumper.rb +++ b/activerecord/lib/active_record/connection_adapters/mysql/schema_dumper.rb @@ -55,13 +55,14 @@ module ActiveRecord def extract_expression_for_virtual_column(column) if mariadb? create_table_info = create_table_info(column.table_name) - if %r/#{quote_column_name(column.name)} #{Regexp.quote(column.sql_type)} AS \((?<expression>.+?)\) #{column.extra}/m =~ create_table_info + if %r/#{quote_column_name(column.name)} #{Regexp.quote(column.sql_type)}(?: COLLATE \w+)? AS \((?<expression>.+?)\) #{column.extra}/ =~ create_table_info $~[:expression].inspect end else + scope = quoted_scope(column.table_name) sql = "SELECT generation_expression FROM information_schema.columns" \ - " WHERE table_schema = #{quote(@config[:database])}" \ - " AND table_name = #{quote(column.table_name)}" \ + " WHERE table_schema = #{scope[:schema]}" \ + " AND table_name = #{scope[:name]}" \ " AND column_name = #{quote(column.name)}" select_value(sql, "SCHEMA").inspect end |