Module: PgParty::Hacks::PostgreSQLDatabaseTasks

Defined in:
lib/pg_party/hacks/postgresql_database_tasks.rb

Instance Method Summary collapse

Instance Method Details

#run_cmd(cmd, args, action) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/pg_party/hacks/postgresql_database_tasks.rb', line 6

def run_cmd(cmd, args, action)
  if action != "dumping" || !PgParty.config.schema_exclude_partitions
    return super
  end

  partitions = ActiveRecord::Base.connection.select_values("    SELECT\n      inhrelid::regclass::text\n    FROM\n      pg_inherits\n    JOIN pg_class AS p ON inhparent = p.oid\n    WHERE p.relkind = 'p'\n  SQL\n\n  excluded_tables = partitions.flat_map { |table| [\"-T\", \"*.\#{table}\"] }\n\n  super(cmd, args + excluded_tables, action)\nend\n", "SCHEMA")