pgLab/pglab/BackupRestore.cpp

67 lines
1.7 KiB
C++
Raw Normal View History

#include <QProcess>
#include <QProcessEnvironment>
#include "ConnectionConfig.h"
void setupEnvironment(const ConnectionConfig &cc)
{
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
env.insert("PGHOST", cc.host().c_str());
env.insert("PGPORT", QString::number(cc.port()));
env.insert("PGDATABASE", cc.dbname().c_str());
env.insert("PGUSER", cc.user().c_str());
env.insert("PGPASSWORD", cc.password().c_str());
// QProcess process;
// process.setProcessEnvironment(env);
// process.start("myapp");
}
// QString toolpath;
// Executable = toolpath + "\\pg_restore.exe";
// ExecutableDump = toolpath + "\\pg_dump.exe";
//---------------------------------------------------------------------------
void Backup(const QString &dest_file_name)
{
// QString command_line = "\"" + ExecutableDump + "\" ";
// // Add commandline options
// command_line += "--verbose ";
// command_line += "--format=c "; // user option
// command_line += " --file=\"" + dest_file_name + "\"";
QStringList args;
args << "--verbose";
args << "--format=c";
args << "--file=\"" + dest_file_name + "\"";
QProcess process;
process.setProgram("pg_dump.exe");
process.setArguments(args);
process.start();
// process.setProcessEnvironment(env);
// process.start("myapp");
}
//---------------------------------------------------------------------------
void Restore(QString bron_file_name)
{
QProcess process;
process.setProgram("pg_restore.exe");
// QString command_line = "\"" + ExecutableRestore + "\" ";
// command_line += "--verbose --no-password --no-privileges --no-owner --dbname=\"" + DbConfig.DbNaam + "\" \"" + bron_file_name + "\"";
// ExecProg = new ExecuteProgram;
// ExecProg->Startup(command_line, Env.GetRawData(), Handle, WM_USER);
}