Execute migrations in a transaction

This commit is contained in:
wispem-wantex 2025-07-12 10:54:57 -07:00
parent 3e164bcdfa
commit e7ee10deb1

View File

@ -100,8 +100,16 @@ func UpgradeFromXToY(db *sqlx.DB, x uint, y uint) {
fmt.Println((*migrations)[i])
fmt.Print(ColorReset)
db.MustExec((*migrations)[i])
db.MustExec("update db_version set version = ?", i+1)
// Execute the migration in a transaction
tx, err := db.Beginx()
if err != nil {
panic(err)
}
tx.MustExec((*migrations)[i])
tx.MustExec("update db_version set version = ?", i+1)
if err := tx.Commit(); err != nil {
panic(err)
}
fmt.Print(ColorYellow)
fmt.Printf("Now at database schema version %d.\n", i+1)