summaryrefslogtreecommitdiffstats
path: root/golang/cmd/fatcatd/reinit.go
diff options
context:
space:
mode:
Diffstat (limited to 'golang/cmd/fatcatd/reinit.go')
-rw-r--r--golang/cmd/fatcatd/reinit.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/golang/cmd/fatcatd/reinit.go b/golang/cmd/fatcatd/reinit.go
new file mode 100644
index 00000000..b7cfa468
--- /dev/null
+++ b/golang/cmd/fatcatd/reinit.go
@@ -0,0 +1,42 @@
+
+package main
+
+import (
+ "github.com/spf13/viper"
+ log "github.com/sirupsen/logrus"
+ "github.com/go-pg/pg"
+ "github.com/spf13/cobra"
+ "github.com/gobuffalo/packr"
+)
+
+var reinitCmd = &cobra.Command{
+ Use: "reinit [options]",
+ Short: "Reset database schema",
+ Run: func(cmd *cobra.Command, args[] string) {
+ main_reinit()
+ },
+}
+
+func main_reinit() {
+
+ box := packr.NewBox("../../sql")
+ sql_schema, err := box.MustString("fatcat-schema.sql")
+ if err != nil {
+ log.Panicf("finding SQL file: {}", err)
+ }
+
+ db_options, err := pg.ParseURL(viper.GetString("db_url"))
+ if err != nil {
+ log.Panicf("parsing DB string: {}", err)
+ }
+ db := pg.Connect(db_options)
+ defer db.Close()
+
+ log.Info("Starting load...")
+ _, err = db.Exec(sql_schema)
+ if err != nil {
+ log.Fatalf("Error loading SQL: {}", err)
+ }
+ log.Info("Success!")
+
+}