Module: UffDbLoader::Postgresql
- Defined in:
- lib/uff_db_loader/postgresql.rb
Class Method Summary collapse
- .create_database(database_name) ⇒ Object
- .drop_database(database_name) ⇒ Object
- .dump_command_template ⇒ Object
- .dump_extension ⇒ Object
- .list_databases ⇒ Object
- .restore_command(database_name, result_file_path, config) ⇒ Object
Class Method Details
.create_database(database_name) ⇒ Object
25 26 27 |
# File 'lib/uff_db_loader/postgresql.rb', line 25 def self.create_database(database_name) ActiveRecord::Base.connection.execute("CREATE DATABASE #{database_name};") end |
.drop_database(database_name) ⇒ Object
29 30 31 |
# File 'lib/uff_db_loader/postgresql.rb', line 29 def self.drop_database(database_name) ActiveRecord::Base.connection.execute("DROP DATABASE IF EXISTS #{database_name};") end |
.dump_command_template ⇒ Object
9 10 11 |
# File 'lib/uff_db_loader/postgresql.rb', line 9 def self.dump_command_template "ssh %user%@%host% \"docker exec -i %container_name% sh -c 'exec pg_dump --username \\$POSTGRES_USER --clean --no-owner --no-acl --format=c %database%'\" > %target%" end |
.dump_extension ⇒ Object
5 6 7 |
# File 'lib/uff_db_loader/postgresql.rb', line 5 def self.dump_extension "dump" end |
.list_databases ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/uff_db_loader/postgresql.rb', line 17 def self.list_databases ActiveRecord::Base .connection .execute("SELECT datname FROM pg_database;") .values .flatten end |
.restore_command(database_name, result_file_path, config) ⇒ Object
13 14 15 |
# File 'lib/uff_db_loader/postgresql.rb', line 13 def self.restore_command(database_name, result_file_path, config) "#{File.join(config.local_restore_command_path || "pg_restore")} --username postgres --clean --if-exists --no-owner --no-acl --dbname #{database_name} #{result_file_path}" end |