Remove packages from DB when removing repository
ci/woodpecker/push/woodpecker Pipeline was successful Details

This commit is contained in:
Elara 2022-11-30 19:14:07 -08:00
parent a88adb43fe
commit 1377ef1bc9
3 changed files with 13 additions and 3 deletions

View File

@ -60,7 +60,7 @@ func GetPkg(db *genji.DB, where string, args ...any) (*Package, error) {
return out, err
}
// DeletePkg deletes all packages matching the where conditions
func DeletePkg(db *genji.DB, where string, args ...any) error {
// DeletePkgs deletes all packages matching the where conditions
func DeletePkgs(db *genji.DB, where string, args ...any) error {
return db.Exec("DELETE * FROM pkgs WHERE "+where, args...)
}

View File

@ -222,7 +222,7 @@ func processRepoChanges(ctx context.Context, repo types.Repo, r *git.Repository,
return err
}
err = db.DeletePkg(gdb, "name = ? AND repository = ?", pkg.Name, repo.Name)
err = db.DeletePkgs(gdb, "name = ? AND repository = ?", pkg.Name, repo.Name)
if err != nil {
return err
}

10
repo.go
View File

@ -66,6 +66,11 @@ func addrepoCmd(c *cli.Context) error {
log.Fatal("Error encoding config").Err(err).Send()
}
err = repos.Pull(c.Context, gdb, cfg.Repos)
if err != nil {
log.Fatal("Error pulling repos").Err(err).Send()
}
return nil
}
@ -101,6 +106,11 @@ func removerepoCmd(c *cli.Context) error {
log.Fatal("Error removing repo directory").Err(err).Send()
}
err = db.DeletePkgs(gdb, "repository = ?", name)
if err != nil {
log.Fatal("Error removing packages from database").Err(err).Send()
}
return nil
}