polish code
diff --git a/data.go b/data.go index f2ea8a4..c2b3ecf 100644 --- a/data.go +++ b/data.go
@@ -7,6 +7,7 @@ "encoding/json" "github.com/30x/apid-core" + "strings" ) var ( @@ -96,20 +97,27 @@ return nil } -func AlterTable(db apid.DB) error { - _, err := db.Exec(` - ALTER TABLE edgex_deployment ADD COLUMN bundle_uri text; - ALTER TABLE edgex_deployment ADD COLUMN local_bundle_uri text; - ALTER TABLE edgex_deployment ADD COLUMN bundle_checksum text; - ALTER TABLE edgex_deployment ADD COLUMN bundle_checksum_type text; - ALTER TABLE edgex_deployment ADD COLUMN deploy_status string; - ALTER TABLE edgex_deployment ADD COLUMN deploy_error_code int; - ALTER TABLE edgex_deployment ADD COLUMN deploy_error_message text; - `) - if err != nil { - return err +func alterTable(db apid.DB) error { + queries := []string{ + "ALTER TABLE edgex_deployment ADD COLUMN bundle_uri text;", + "ALTER TABLE edgex_deployment ADD COLUMN local_bundle_uri text;", + "ALTER TABLE edgex_deployment ADD COLUMN bundle_checksum text;", + "ALTER TABLE edgex_deployment ADD COLUMN bundle_checksum_type text;", + "ALTER TABLE edgex_deployment ADD COLUMN deploy_status string;", + "ALTER TABLE edgex_deployment ADD COLUMN deploy_error_code int;", + "ALTER TABLE edgex_deployment ADD COLUMN deploy_error_message text;", } + for _, query := range queries { + _, err := db.Exec(query) + if err != nil { + if strings.Contains(err.Error(), "duplicate column name") { + log.Warnf("AlterTable warning: %s", err) + } else { + return err + } + } + } log.Debug("Database table altered.") return nil }
diff --git a/listener.go b/listener.go index 5f1d50f..8a4f017 100644 --- a/listener.go +++ b/listener.go
@@ -9,7 +9,6 @@ "github.com/30x/apid-core" "github.com/apigee-labs/transicator/common" - "strings" ) const ( @@ -56,13 +55,9 @@ } // alter table - err = AlterTable(db) + err = alterTable(db) if err != nil { - if !strings.Contains(err.Error(), "duplicate") { - log.Panicf("Alter table failed: %v", err) - } else { - log.Info("start with local sqlite DB") - } + log.Panicf("Alter table failed: %v", err) } // ensure that no new database updates are made on old database dbMux.Lock()