method
structure_dump
v7.0.0 -
Show latest stable
- Class:
ActiveRecord::Tasks::PostgreSQLDatabaseTasks
structure_dump(filename, extra_flags)public
No documentation available.
# File activerecord/lib/active_record/tasks/postgresql_database_tasks.rb, line 49
def structure_dump(filename, extra_flags)
search_path = case ActiveRecord.dump_schemas
when :schema_search_path
configuration_hash[:schema_search_path]
when :all
nil
when String
ActiveRecord.dump_schemas
end
args = ["--schema-only", "--no-privileges", "--no-owner"]
args << "--no-comment" if connection.database_version >= 110_000
args.concat(["--file", filename])
args.concat(Array(extra_flags)) if extra_flags
unless search_path.blank?
args += search_path.split(",").map do |part|
"--schema=#{part.strip}"
end
end
ignore_tables = ActiveRecord::SchemaDumper.ignore_tables
if ignore_tables.any?
args += ignore_tables.flat_map { |table| ["-T", table] }
end
args << db_config.database
run_cmd("pg_dump", args, "dumping")
remove_sql_header_comments(filename)
File.open(filename, "a") { |f| f << "SET search_path TO #{connection.schema_search_path};\n\n" }
end