diff --git a/Makefile b/Makefile index ecd4972ddeaa..dac64e3a6f40 100644 --- a/Makefile +++ b/Makefile @@ -163,7 +163,6 @@ GOIMAGEBUILD_CORE=$(GOIMAGEBUILDCMD) $(GOFLAGS) ${GOTAGS} --ldflags "-w -s $(COR GOBUILDPATH_CORE=$(GOBUILDPATHINCONTAINER)/src/core GOBUILDPATH_JOBSERVICE=$(GOBUILDPATHINCONTAINER)/src/jobservice GOBUILDPATH_REGISTRYCTL=$(GOBUILDPATHINCONTAINER)/src/registryctl -GOBUILDPATH_MIGRATEPATCH=$(GOBUILDPATHINCONTAINER)/src/cmd/migrate-patch GOBUILDPATH_STANDALONE_DB_MIGRATOR=$(GOBUILDPATHINCONTAINER)/src/cmd/standalone-db-migrator GOBUILDPATH_EXPORTER=$(GOBUILDPATHINCONTAINER)/src/cmd/exporter GOBUILDMAKEPATH=make @@ -546,8 +545,6 @@ cleanbinary: if [ -f $(CORE_BINARYPATH)/$(CORE_BINARYNAME) ] ; then rm $(CORE_BINARYPATH)/$(CORE_BINARYNAME) ; fi if [ -f $(JOBSERVICEBINARYPATH)/$(JOBSERVICEBINARYNAME) ] ; then rm $(JOBSERVICEBINARYPATH)/$(JOBSERVICEBINARYNAME) ; fi if [ -f $(REGISTRYCTLBINARYPATH)/$(REGISTRYCTLBINARYNAME) ] ; then rm $(REGISTRYCTLBINARYPATH)/$(REGISTRYCTLBINARYNAME) ; fi - if [ -f $(MIGRATEPATCHBINARYPATH)/$(MIGRATEPATCHBINARYNAME) ] ; then rm $(MIGRATEPATCHBINARYPATH)/$(MIGRATEPATCHBINARYNAME) ; fi - rm -rf make/photon/*/binary/ cleanbaseimage: @echo "cleaning base image for photon..." diff --git a/src/cmd/migrate-patch/README.md b/src/cmd/migrate-patch/README.md deleted file mode 100644 index 9c9b70568f1e..000000000000 --- a/src/cmd/migrate-patch/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Migrate Patch -This is a simple program to fix the breakage that was introduced by migrate in notary. -## Usage -```sh -patch -database -``` diff --git a/src/cmd/migrate-patch/main.go b/src/cmd/migrate-patch/main.go deleted file mode 100644 index eb728b3a1120..000000000000 --- a/src/cmd/migrate-patch/main.go +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright Project Harbor Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package main - -import ( - "database/sql" - "flag" - "log" - "strings" - "time" - - _ "github.com/jackc/pgx/v4/stdlib" // registry pgx driver -) - -var dbURL string - -const pgSQLAlterStmt string = `ALTER TABLE schema_migrations ADD COLUMN "dirty" boolean NOT NULL DEFAULT false` -const pgSQLCheckColStmt string = `SELECT T1.C1, T2.C2 FROM -(SELECT COUNT(*) AS C1 FROM information_schema.tables WHERE table_name='schema_migrations') T1, -(SELECT COUNT(*) AS C2 FROM information_schema.columns WHERE table_name='schema_migrations' and column_name='dirty') T2` -const pgSQLDelRows string = `DELETE FROM schema_migrations t WHERE t.version < ( SELECT MAX(version) FROM schema_migrations )` - -func init() { - urlUsage := `The URL to the target database (driver://url). Currently it only supports postgres` - flag.StringVar(&dbURL, "database", "", urlUsage) -} - -func main() { - flag.Parse() - log.Printf("Updating database.") - if !strings.HasPrefix(dbURL, "postgres://") { - log.Fatalf("Invalid URL: '%s'\n", dbURL) - } - db, err := sql.Open("pgx", dbURL) - if err != nil { - log.Fatalf("Failed to connect to Database, error: %v\n", err) - } - defer db.Close() - - c := make(chan struct{}) - go func() { - defer close(c) - - err := db.Ping() - for ; err != nil; err = db.Ping() { - log.Println("Failed to Ping DB, sleep for 1 second.") - time.Sleep(1 * time.Second) - } - }() - select { - case <-c: - case <-time.After(30 * time.Second): - log.Fatal("Failed to connect DB after 30 seconds, time out. \n") - } - - row := db.QueryRow(pgSQLCheckColStmt) - var tblCount, colCount int - if err := row.Scan(&tblCount, &colCount); err != nil { - log.Fatalf("Failed to check schema_migrations table, error: %v \n", err) - } - if tblCount == 0 { - log.Println("schema_migrations table does not exist, skip.") - return - } - if colCount > 0 { - log.Println("schema_migrations table does not require update, skip.") - return - } - if _, err := db.Exec(pgSQLDelRows); err != nil { - log.Fatalf("Failed to clean up table, error: %v", err) - } - if _, err := db.Exec(pgSQLAlterStmt); err != nil { - log.Fatalf("Failed to update database, error: %v \n", err) - } - log.Println("Done updating database.") -}