refactore: refactoring of code

This commit is contained in:
2024-01-19 14:41:25 +01:00
parent 858b508b58
commit 52ed96ae09
6 changed files with 40 additions and 20 deletions

View File

@@ -46,6 +46,7 @@ func BackupDatabase(disableCompression bool) {
if disableCompression {
bkFileName = fmt.Sprintf("%s_%s.sql", dbName, time.Now().Format("20060102_150405"))
// Execute pg_dump
cmd := exec.Command("pg_dump",
"-h", dbHost,
"-p", dbPort,
@@ -56,7 +57,7 @@ func BackupDatabase(disableCompression bool) {
if err != nil {
log.Fatal(err)
}
// save output
file, err := os.Create(fmt.Sprintf("%s/%s", storagePath, bkFileName))
if err != nil {
log.Fatal(err)
@@ -67,9 +68,10 @@ func BackupDatabase(disableCompression bool) {
if err != nil {
log.Fatal(err)
}
utils.Info("Database has been backed up")
utils.Done("Database has been backed up")
} else {
// Execute pg_dump
cmd := exec.Command("pg_dump",
"-h", dbHost,
"-p", dbPort,
@@ -82,6 +84,7 @@ func BackupDatabase(disableCompression bool) {
}
gzipCmd := exec.Command("gzip")
gzipCmd.Stdin = stdout
// save output
gzipCmd.Stdout, err = os.Create(fmt.Sprintf("%s/%s", storagePath, bkFileName))
gzipCmd.Start()
if err != nil {
@@ -93,7 +96,7 @@ func BackupDatabase(disableCompression bool) {
if err := gzipCmd.Wait(); err != nil {
log.Fatal(err)
}
utils.Info("Database has been backed up")
utils.Done("Database has been backed up")
}

View File

@@ -30,23 +30,23 @@ func RestoreDatabase(file string) {
utils.TestDatabaseConnection()
extension := filepath.Ext(fmt.Sprintf("%s/%s", storagePath, file))
// GZ compressed file
// Restore from compressed file / .sql.gz
if extension == ".gz" {
str := "zcat " + fmt.Sprintf("%s/%s", storagePath, file) + " | psql -h " + os.Getenv("DB_HOST") + " -p " + os.Getenv("DB_PORT") + " -U " + os.Getenv("DB_USERNAME") + " -v -d " + os.Getenv("DB_NAME")
_, err := exec.Command("bash", "-c", str).Output()
if err != nil {
utils.Fatal("Error, in restoring the database")
}
utils.Info("Database has been restored")
utils.Done("Database has been restored")
} else if extension == ".sql" {
//SQL file
//Restore from sql file
str := "cat " + fmt.Sprintf("%s/%s", storagePath, file) + " | psql -h " + os.Getenv("DB_HOST") + " -p " + os.Getenv("DB_PORT") + " -U " + os.Getenv("DB_USERNAME") + " -v -d " + os.Getenv("DB_NAME")
_, err := exec.Command("bash", "-c", str).Output()
if err != nil {
utils.Fatal("Error in restoring the database", err)
}
utils.Info("Database has been restored")
utils.Done("Database has been restored")
} else {
utils.Fatal("Unknown file extension ", extension)
}