fix: 将平台业务ID统一改为String并自动建表

- 抖音、B站、快手、微博的帖子/视频/评论ID从BigInteger改为String,
  避免PostgreSQL下字符串写入BIGINT报错及未来ID溢出风险
- B站dynamic_id改为String,修复API返回id_str被强转int导致的精度丢失
- 知乎提取器对content_id/question_id显式str()转换
- main.py启动数据库保存模式时自动建表,无需手动--init_db
- 同步更新相关老化测试
This commit is contained in:
程序员阿江(Relakkes)
2026-07-01 23:03:43 +08:00
parent 51d4853db5
commit a06273ea6c
11 changed files with 55 additions and 61 deletions
+3 -1
View File
@@ -33,6 +33,7 @@ from store.xhs._store_impl import (
XhsMongoStoreImplement,
XhsExcelStoreImplement
)
from store.excel_store_base import ExcelStoreBase
class TestXhsStoreFactory:
@@ -73,7 +74,8 @@ class TestXhsStoreFactory:
"""Test creating Excel store"""
# ContextVar cannot be mocked, so we test with actual value
store = XhsStoreFactory.create_store()
assert isinstance(store, XhsExcelStoreImplement)
# XhsExcelStoreImplement 返回 ExcelStoreBase 单例,实际类型为 ExcelStoreBase
assert isinstance(store, ExcelStoreBase)
@patch('config.SAVE_DATA_OPTION', 'jsonl')
def test_create_jsonl_store(self):