chore: add run-fixes cli
This commit is contained in:
@@ -11,6 +11,7 @@ import (
|
|||||||
|
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
"golang.org/x/crypto/bcrypt"
|
"golang.org/x/crypto/bcrypt"
|
||||||
|
"mal/internal/database"
|
||||||
"mal/internal/db"
|
"mal/internal/db"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -21,13 +22,19 @@ func main() {
|
|||||||
}
|
}
|
||||||
defer func() { _ = dbConn.Close() }()
|
defer func() { _ = dbConn.Close() }()
|
||||||
|
|
||||||
if len(os.Args) == 2 && os.Args[1] == "update-avatar" {
|
if len(os.Args) == 2 {
|
||||||
updateAvatars(dbConn)
|
switch os.Args[1] {
|
||||||
return
|
case "update-avatar":
|
||||||
|
updateAvatars(dbConn)
|
||||||
|
return
|
||||||
|
case "run-fixes":
|
||||||
|
runFixes(dbConn)
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(os.Args) != 3 {
|
if len(os.Args) != 3 {
|
||||||
log.Fatalf("Usage: go run cmd/user/main.go <username> <password>\n go run cmd/user/main.go update-avatar")
|
log.Fatalf("Usage: go run cmd/user/main.go <username> <password>\n go run cmd/user/main.go update-avatar\n go run cmd/user/main.go run-fixes")
|
||||||
}
|
}
|
||||||
|
|
||||||
username := os.Args[1]
|
username := os.Args[1]
|
||||||
@@ -107,3 +114,31 @@ func updateAvatars(dbConn *sql.DB) {
|
|||||||
|
|
||||||
fmt.Printf("Updated avatars for %d user(s)\n", count)
|
fmt.Printf("Updated avatars for %d user(s)\n", count)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func runFixes(dbConn *sql.DB) {
|
||||||
|
if err := database.RunMigrationsAndFixes(dbConn); err != nil {
|
||||||
|
log.Fatalf("run migrations and fixes: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
rows, err := dbConn.Query("SELECT id, applied_at FROM data_fixes ORDER BY id ASC")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("list applied fixes: %v", err)
|
||||||
|
}
|
||||||
|
defer func() { _ = rows.Close() }()
|
||||||
|
|
||||||
|
count := 0
|
||||||
|
for rows.Next() {
|
||||||
|
var id string
|
||||||
|
var appliedAt string
|
||||||
|
if err := rows.Scan(&id, &appliedAt); err != nil {
|
||||||
|
log.Fatalf("scan applied fix: %v", err)
|
||||||
|
}
|
||||||
|
fmt.Printf("%s applied_at=%s\n", id, appliedAt)
|
||||||
|
count++
|
||||||
|
}
|
||||||
|
if err := rows.Err(); err != nil {
|
||||||
|
log.Fatalf("iterate applied fixes: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Printf("Applied fixes: %d\n", count)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user