Sha256: 6fbcbd20132cac2b61c8e3f95eabf3e477ccb2213c72673e8b1949a55654a634
Contents?: true
Size: 1.06 KB
Versions: 7
Compression:
Stored size: 1.06 KB
Contents
# frozen_string_literal: true require 'avm/instances/data/unit' module Avm module EacPostgresqlBase0 class Instance class DataUnit < ::Avm::Instances::Data::Unit EXTENSION = '.pgdump.gz' TABLES_SQL = 'select tablename from pg_tables where schemaname = \'public\'' before_load :clear_database def dump_command instance.dump_gzip_command end def load_command instance.load_gzip_command end private def clear_database info 'Clearing database (Dropping all tables)...' ts = tables if ts.empty? info 'Database has no tables' else info "Removing #{ts.count} table(s)..." run_sql('drop table if exists ' + ts.map { |t| "\"#{t}\"" }.join(', ') + ' cascade') end end def run_sql(sql) instance.psql_command_command(sql).execute! end def tables run_sql(TABLES_SQL).each_line.map(&:strip).reject(&:blank?) end end end end end
Version data entries
7 entries across 7 versions & 2 rubygems