Initial commit: 百家号文章采集系统

This commit is contained in:
sjk
2025-12-19 22:48:58 +08:00
commit 0d5bbb1864
37 changed files with 11774 additions and 0 deletions

59
migrate_database_v2.py Normal file
View File

@@ -0,0 +1,59 @@
# -*- coding: utf-8 -*-
"""
数据库迁移脚本 V2
添加断点续传支持字段
"""
import sqlite3
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
def migrate_database():
"""执行数据库迁移"""
db_path = "data/baijiahao.db"
logger.info("=" * 50)
logger.info("开始数据库迁移 V2...")
logger.info("=" * 50)
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
try:
# 获取当前表结构
cursor.execute("PRAGMA table_info(tasks)")
columns = {row[1]: row for row in cursor.fetchall()}
# 添加 last_page 字段(最后抓取的页码)
if 'last_page' not in columns:
logger.info("添加 last_page 字段...")
cursor.execute("ALTER TABLE tasks ADD COLUMN last_page INTEGER DEFAULT 0")
logger.info("✓ last_page 字段添加成功")
else:
logger.info("✓ last_page 字段已存在")
# 添加 last_ctime 字段(最后的分页参数)
if 'last_ctime' not in columns:
logger.info("添加 last_ctime 字段...")
cursor.execute("ALTER TABLE tasks ADD COLUMN last_ctime TEXT")
logger.info("✓ last_ctime 字段添加成功")
else:
logger.info("✓ last_ctime 字段已存在")
conn.commit()
logger.info("=" * 50)
logger.info("✅ 数据库迁移 V2 完成!")
logger.info("=" * 50)
except Exception as e:
logger.error(f"❌ 迁移失败: {e}")
conn.rollback()
raise
finally:
conn.close()
if __name__ == "__main__":
migrate_database()