2024-09-10 22:59:28 +02:00
// Package cmd /
2024-11-19 02:54:31 +01:00
/ *
2024-12-06 03:08:17 +01:00
MIT License
Copyright ( c ) 2023 Jonas Kaninda
Permission is hereby granted , free of charge , to any person obtaining a copy
of this software and associated documentation files ( the "Software" ) , to deal
in the Software without restriction , including without limitation the rights
to use , copy , modify , merge , publish , distribute , sublicense , and / or sell
copies of the Software , and to permit persons to whom the Software is
furnished to do so , subject to the following conditions :
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software .
THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR
IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY ,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER
LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM ,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE .
* /
2024-01-19 06:32:30 +01:00
package cmd
import (
2024-01-20 14:03:06 +01:00
"github.com/jkaninda/pg-bkup/utils"
2024-01-19 06:32:30 +01:00
"github.com/spf13/cobra"
2024-01-20 14:03:06 +01:00
"os"
2024-01-19 06:32:30 +01:00
)
// rootCmd represents the base command when called without any subcommands
var rootCmd = & cobra . Command {
2024-01-20 14:03:06 +01:00
Use : "pg-bkup [Command]" ,
2024-08-03 00:49:14 +02:00
Short : "PostgreSQL Backup tool, backup database to AWS S3 or SSH Remote Server" ,
Long : ` PostgreSQL Database backup and restoration tool. Backup database to AWS S3 storage, any S3 Alternatives for Object Storage or SSH remote server. ` ,
2024-01-20 14:03:06 +01:00
Example : utils . MainExample ,
Version : appVersion ,
2024-01-19 06:32:30 +01:00
}
// Execute adds all child commands to the root command and sets flags appropriately.
// This is called by main.main(). It only needs to happen once to the rootCmd.
func Execute ( ) {
err := rootCmd . Execute ( )
if err != nil {
os . Exit ( 1 )
}
}
func init ( ) {
2024-08-03 00:49:14 +02:00
rootCmd . PersistentFlags ( ) . StringP ( "dbname" , "d" , "" , "Database name" )
2024-01-20 14:03:06 +01:00
rootCmd . AddCommand ( VersionCmd )
rootCmd . AddCommand ( BackupCmd )
rootCmd . AddCommand ( RestoreCmd )
2024-08-29 21:49:35 +02:00
rootCmd . AddCommand ( MigrateCmd )
2024-01-19 06:32:30 +01:00
}