diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2017-08-20 23:32:41 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2017-08-22 19:18:29 +0900 |
commit | 815dd11bc5b6988b55573530644de93aefefa1b4 (patch) | |
tree | c4b35396b375c123e9b54dd28e680b63f41e25ca /activerecord/lib/active_record/schema_dumper.rb | |
parent | f2099361da05dd6890c733e5aecdce4cd52efdff (diff) | |
download | rails-815dd11bc5b6988b55573530644de93aefefa1b4.tar.gz rails-815dd11bc5b6988b55573530644de93aefefa1b4.tar.bz2 rails-815dd11bc5b6988b55573530644de93aefefa1b4.zip |
Refactor `SchemaDumper` to make it possible to adapter specific customization
Currently `SchemaDumper` is only customizable for column options. But
3rd party connection adapters (oracle-enhanced etc) need to customizable
for table or index dumping also. To make it possible, I introduced
adapter specific `SchemaDumper` classes for that.
Diffstat (limited to 'activerecord/lib/active_record/schema_dumper.rb')
-rw-r--r-- | activerecord/lib/active_record/schema_dumper.rb | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/schema_dumper.rb b/activerecord/lib/active_record/schema_dumper.rb index fd644225ca..7b2894086e 100644 --- a/activerecord/lib/active_record/schema_dumper.rb +++ b/activerecord/lib/active_record/schema_dumper.rb @@ -19,7 +19,7 @@ module ActiveRecord class << self def dump(connection = ActiveRecord::Base.connection, stream = STDOUT, config = ActiveRecord::Base) - new(connection, generate_options(config)).dump(stream) + connection.create_schema_dumper(generate_options(config)).dump(stream) stream end @@ -123,7 +123,7 @@ HEADER when String tbl.print ", primary_key: #{pk.inspect}" unless pk == "id" pkcol = columns.detect { |c| c.name == pk } - pkcolspec = @connection.column_spec_for_primary_key(pkcol) + pkcolspec = column_spec_for_primary_key(pkcol) if pkcolspec.present? tbl.print ", #{format_colspec(pkcolspec)}" end @@ -145,7 +145,7 @@ HEADER columns.each do |column| raise StandardError, "Unknown type '#{column.sql_type}' for column '#{column.name}'" unless @connection.valid_type?(column.type) next if column.name == pk - type, colspec = @connection.column_spec(column) + type, colspec = column_spec(column) tbl.print " t.#{type} #{column.name.inspect}" tbl.print ", #{format_colspec(colspec)}" if colspec.present? tbl.puts |