mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-28 13:15:33 +01:00
remove migrate-patch (#20619)
PR #18668 (commit bf7c82b9a
) removed notary, but the source code of
migrate-patch and some process in the Makefile for it remained, so
remove them.
Signed-off-by: Mitsuru Kariya <mitsuru.kariya@nttdata.com>
Co-authored-by: Shengwen YU <yshengwen@vmware.com>
Co-authored-by: Wang Yan <wangyan@vmware.com>
This commit is contained in:
parent
eb5193e0ef
commit
79886dfcce
3
Makefile
3
Makefile
@ -165,7 +165,6 @@ GOIMAGEBUILD_CORE=$(GOIMAGEBUILDCMD) $(GOFLAGS) ${GOTAGS} --ldflags "-w -s $(COR
|
|||||||
GOBUILDPATH_CORE=$(GOBUILDPATHINCONTAINER)/src/core
|
GOBUILDPATH_CORE=$(GOBUILDPATHINCONTAINER)/src/core
|
||||||
GOBUILDPATH_JOBSERVICE=$(GOBUILDPATHINCONTAINER)/src/jobservice
|
GOBUILDPATH_JOBSERVICE=$(GOBUILDPATHINCONTAINER)/src/jobservice
|
||||||
GOBUILDPATH_REGISTRYCTL=$(GOBUILDPATHINCONTAINER)/src/registryctl
|
GOBUILDPATH_REGISTRYCTL=$(GOBUILDPATHINCONTAINER)/src/registryctl
|
||||||
GOBUILDPATH_MIGRATEPATCH=$(GOBUILDPATHINCONTAINER)/src/cmd/migrate-patch
|
|
||||||
GOBUILDPATH_STANDALONE_DB_MIGRATOR=$(GOBUILDPATHINCONTAINER)/src/cmd/standalone-db-migrator
|
GOBUILDPATH_STANDALONE_DB_MIGRATOR=$(GOBUILDPATHINCONTAINER)/src/cmd/standalone-db-migrator
|
||||||
GOBUILDPATH_EXPORTER=$(GOBUILDPATHINCONTAINER)/src/cmd/exporter
|
GOBUILDPATH_EXPORTER=$(GOBUILDPATHINCONTAINER)/src/cmd/exporter
|
||||||
GOBUILDMAKEPATH=make
|
GOBUILDMAKEPATH=make
|
||||||
@ -182,7 +181,6 @@ JOBSERVICEBINARYPATH=$(BUILDPATH)/$(GOBUILDMAKEPATH_JOBSERVICE)
|
|||||||
JOBSERVICEBINARYNAME=harbor_jobservice
|
JOBSERVICEBINARYNAME=harbor_jobservice
|
||||||
REGISTRYCTLBINARYPATH=$(BUILDPATH)/$(GOBUILDMAKEPATH_REGISTRYCTL)
|
REGISTRYCTLBINARYPATH=$(BUILDPATH)/$(GOBUILDMAKEPATH_REGISTRYCTL)
|
||||||
REGISTRYCTLBINARYNAME=harbor_registryctl
|
REGISTRYCTLBINARYNAME=harbor_registryctl
|
||||||
MIGRATEPATCHBINARYNAME=migrate-patch
|
|
||||||
STANDALONE_DB_MIGRATOR_BINARYPATH=$(BUILDPATH)/$(GOBUILDMAKEPATH_STANDALONE_DB_MIGRATOR)
|
STANDALONE_DB_MIGRATOR_BINARYPATH=$(BUILDPATH)/$(GOBUILDMAKEPATH_STANDALONE_DB_MIGRATOR)
|
||||||
STANDALONE_DB_MIGRATOR_BINARYNAME=migrate
|
STANDALONE_DB_MIGRATOR_BINARYNAME=migrate
|
||||||
|
|
||||||
@ -548,7 +546,6 @@ cleanbinary:
|
|||||||
if [ -f $(CORE_BINARYPATH)/$(CORE_BINARYNAME) ] ; then rm $(CORE_BINARYPATH)/$(CORE_BINARYNAME) ; fi
|
if [ -f $(CORE_BINARYPATH)/$(CORE_BINARYNAME) ] ; then rm $(CORE_BINARYPATH)/$(CORE_BINARYNAME) ; fi
|
||||||
if [ -f $(JOBSERVICEBINARYPATH)/$(JOBSERVICEBINARYNAME) ] ; then rm $(JOBSERVICEBINARYPATH)/$(JOBSERVICEBINARYNAME) ; fi
|
if [ -f $(JOBSERVICEBINARYPATH)/$(JOBSERVICEBINARYNAME) ] ; then rm $(JOBSERVICEBINARYPATH)/$(JOBSERVICEBINARYNAME) ; fi
|
||||||
if [ -f $(REGISTRYCTLBINARYPATH)/$(REGISTRYCTLBINARYNAME) ] ; then rm $(REGISTRYCTLBINARYPATH)/$(REGISTRYCTLBINARYNAME) ; fi
|
if [ -f $(REGISTRYCTLBINARYPATH)/$(REGISTRYCTLBINARYNAME) ] ; then rm $(REGISTRYCTLBINARYPATH)/$(REGISTRYCTLBINARYNAME) ; fi
|
||||||
if [ -f $(MIGRATEPATCHBINARYPATH)/$(MIGRATEPATCHBINARYNAME) ] ; then rm $(MIGRATEPATCHBINARYPATH)/$(MIGRATEPATCHBINARYNAME) ; fi
|
|
||||||
rm -rf make/photon/*/binary/
|
rm -rf make/photon/*/binary/
|
||||||
|
|
||||||
cleanbaseimage:
|
cleanbaseimage:
|
||||||
|
@ -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 <db_url>
|
|
||||||
```
|
|
@ -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.")
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user