feat: 档口入库码后台批量回写 (#246)

This commit is contained in:
chengma
2026-08-15 17:08:17 +08:00
parent 6b30594f4c
commit f8f22a15c7
21 changed files with 708 additions and 134 deletions
+27 -2
View File
@@ -1094,7 +1094,7 @@ func TestMySQLMigrate_V22升级V23且唯一约束生效(t *testing.T) {
}
mustExec(t, db, `SET FOREIGN_KEY_CHECKS=0`)
mustExec(t, db, `DROP TABLE syb_inner_code_records`)
mustExec(t, db, `DELETE FROM schema_migrations WHERE version=23`)
mustExec(t, db, `DELETE FROM schema_migrations WHERE version>=23`)
mustExec(t, db, `SET FOREIGN_KEY_CHECKS=1`)
if err := MigrateMySQL(db); err != nil {
t.Fatalf("v22 升级 v23 失败: %v", err)
@@ -1129,7 +1129,7 @@ func TestMySQLMigrate_V23升级V24且软删除字段有效(t *testing.T) {
mustExec(t, db, `ALTER TABLE syb_inner_code_records DROP FOREIGN KEY fk_inner_code_deleted_by`)
mustExec(t, db, `ALTER TABLE syb_inner_code_records DROP INDEX idx_inner_code_deleted`)
mustExec(t, db, `ALTER TABLE syb_inner_code_records DROP COLUMN deleted_by_user_id,DROP COLUMN deleted_at`)
mustExec(t, db, `DELETE FROM schema_migrations WHERE version=24`)
mustExec(t, db, `DELETE FROM schema_migrations WHERE version>=24`)
if err := MigrateMySQL(db); err != nil {
t.Fatalf("v23 升级 v24 失败: %v", err)
}
@@ -1141,6 +1141,31 @@ func TestMySQLMigrate_V23升级V24且软删除字段有效(t *testing.T) {
}
}
func TestMySQLMigrate_V24升级V25且后台队列状态有效(t *testing.T) {
db := openMySQLMigrationTestDB(t)
defer db.Close()
cleanMySQLTestSchema(t, db)
defer cleanMySQLTestSchema(t, db)
if err := MigrateMySQL(db); err != nil {
t.Fatal(err)
}
mustExec(t, db, `ALTER TABLE syb_inner_code_records DROP INDEX idx_inner_code_apply_batch`)
mustExec(t, db, `ALTER TABLE syb_inner_code_records DROP COLUMN apply_queued_at,DROP COLUMN apply_batch_id`)
mustExec(t, db, `ALTER TABLE syb_inner_code_records DROP CHECK chk_inner_code_status`)
mustExec(t, db, `ALTER TABLE syb_inner_code_records ADD CONSTRAINT chk_inner_code_status
CHECK (status IN ('pending','ready','applying','updated','already_filled','skipped','failed','needs_check'))`)
mustExec(t, db, `DELETE FROM schema_migrations WHERE version>=25`)
if err := MigrateMySQL(db); err != nil {
t.Fatalf("v24 升级 v25 失败: %v", err)
}
if err := MigrateMySQL(db); err != nil {
t.Fatalf("v25 重复迁移失败: %v", err)
}
if err := checkMySQLV25Shape(db); err != nil {
t.Fatal(err)
}
}
func TestUpsertInnerCodeImportRow_软删除记录按状态安全恢复(t *testing.T) {
db := openMySQLMigrationTestDB(t)
defer db.Close()