2

Backup gem を使用して Postgresql DB のバックアップを作成しました。

" backup perform -t my_backup " 2012.10.06.12.30.11 フォルダーに my_backup.tar ファイルを生成します

tar ファイルには、image.tar および .sql ファイルが含まれています。

この tar ファイルからデータベースを復元する方法は何ですか?

4

1 に答える 1

3

rake タスクを作成します (SQL ファイルの名前がfoo.sql.

namespace :db do
  task import: :environment do
    import_path = "/tmp/import"
    sql_file = "foo.sql"
    database_config = Rails.configuration.database_configuration[Rails.env]

    # Unpack
    system "tar xf my_backup.tar -C #{import_path}"
    system "gzip -df #{import_path}/#{sql_file}.gz"

    # Import
    system "psql --username=#{database_config['username']} -no-password #{database_config['database']} < #{import_path}/#{sql_file}"
  end
end

データベース ユーザーにsuperuserまたはcreatedbロールがあることを確認します。

于 2012-10-06T11:21:20.943 に答える