mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 20:34:37 +03:00
Fix migrations not using tx (#5282)
This commit is contained in:
@@ -161,7 +161,7 @@ func (m *schema45Migrator) migrateImagesTable(ctx context.Context, options migra
|
||||
|
||||
query += fmt.Sprintf(" LIMIT %d", limit)
|
||||
|
||||
rows, err := m.db.Query(query)
|
||||
rows, err := tx.Query(query)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -191,7 +191,7 @@ func (m *schema45Migrator) migrateImagesTable(ctx context.Context, options migra
|
||||
image := result[i+1].(*[]byte)
|
||||
|
||||
if len(*image) > 0 {
|
||||
if err := m.insertImage(*image, id, options.destTable, col.destCol); err != nil {
|
||||
if err := m.insertImage(tx, *image, id, options.destTable, col.destCol); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -202,7 +202,7 @@ func (m *schema45Migrator) migrateImagesTable(ctx context.Context, options migra
|
||||
"joinTable": options.joinTable,
|
||||
"joinIDCol": options.joinIDCol,
|
||||
})
|
||||
if _, err := m.db.Exec(deleteSQL, id); err != nil {
|
||||
if _, err := tx.Exec(deleteSQL, id); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -224,11 +224,11 @@ func (m *schema45Migrator) migrateImagesTable(ctx context.Context, options migra
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *schema45Migrator) insertImage(data []byte, id int, destTable string, destCol string) error {
|
||||
func (m *schema45Migrator) insertImage(tx *sqlx.Tx, data []byte, id int, destTable string, destCol string) error {
|
||||
// calculate checksum and insert into blobs table
|
||||
checksum := md5.FromBytes(data)
|
||||
|
||||
if _, err := m.db.Exec("INSERT INTO `blobs` (`checksum`, `blob`) VALUES (?, ?) ON CONFLICT DO NOTHING", checksum, data); err != nil {
|
||||
if _, err := tx.Exec("INSERT INTO `blobs` (`checksum`, `blob`) VALUES (?, ?) ON CONFLICT DO NOTHING", checksum, data); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -237,7 +237,7 @@ func (m *schema45Migrator) insertImage(data []byte, id int, destTable string, de
|
||||
"destTable": destTable,
|
||||
"destCol": destCol,
|
||||
})
|
||||
if _, err := m.db.Exec(updateSQL, checksum, id); err != nil {
|
||||
if _, err := tx.Exec(updateSQL, checksum, id); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user