B-42: 导入功能加固——逐工作表确认、流式上传与诊断证据

This commit is contained in:
腾讯WorkBuddy
2026-08-17 01:00:19 +08:00
parent 7f1a93f6a6
commit 486842963e
15 changed files with 2019 additions and 183 deletions
+5 -4
View File
@@ -41,7 +41,7 @@ class PersistenceTestCase(unittest.TestCase):
class MigrationTests(PersistenceTestCase):
def test_migrate_creates_schema_and_is_idempotent(self) -> None:
first = applied_versions(self.connection)
self.assertEqual([1, 2, 3], first)
self.assertEqual([1, 2, 3, 4], first)
self.assertEqual([], migrate(self.connection))
self.assertEqual(first, applied_versions(self.connection))
tables = {
@@ -58,6 +58,7 @@ class MigrationTests(PersistenceTestCase):
"source_files",
"import_batches",
"sheet_batches",
"sheet_reviews",
"source_rows",
"import_exceptions",
"users",
@@ -69,14 +70,14 @@ class MigrationTests(PersistenceTestCase):
self.assertIn(table, tables)
def test_rollback_removes_schema_and_forward_rebuilds_it(self) -> None:
self.assertEqual([3, 2, 1], rollback(self.connection, 0))
self.assertEqual([4, 3, 2, 1], rollback(self.connection, 0))
self.assertEqual([], applied_versions(self.connection))
remaining = self.connection.execute(
"SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'source_rows'"
).fetchone()
self.assertIsNone(remaining)
self.assertEqual([1, 2, 3], migrate(self.connection))
self.assertEqual([1, 2, 3], applied_versions(self.connection))
self.assertEqual([1, 2, 3, 4], migrate(self.connection))
self.assertEqual([1, 2, 3, 4], applied_versions(self.connection))
class ImportPersistenceTests(PersistenceTestCase):