首页
/ 解决myhhub/stock项目中cn_stock_attention表缺失问题

解决myhhub/stock项目中cn_stock_attention表缺失问题

2025-05-28 16:29:52作者:庞眉杨Will

在使用myhhub/stock项目的最新Docker镜像时,许多用户遇到了一个常见问题:当访问股票指标数据页面时,系统会抛出"Table 'instockdb.cn_stock_attention' doesn't exist"的错误提示。这个问题实际上是由于系统初始化过程中缺少了一个关键数据表导致的。

问题分析

cn_stock_attention表是项目中用于存储用户关注股票信息的重要数据表。该表设计包含两个主要字段:

  • datetime字段:记录关注时间
  • code字段:存储股票代码,作为主键

当系统尝试访问这个表进行数据操作时,由于表不存在,自然会导致接口报错。从日志中可以看到,stockfetch.fetch_stocks_selection方法在处理时也出现了'NoneType' object is not subscriptable的异常,这与表缺失直接相关。

解决方案

要解决这个问题,需要手动创建缺失的数据表。以下是创建表的SQL语句:

CREATE TABLE IF NOT EXISTS cn_stock_attention (
    datetime datetime(0) NULL DEFAULT NULL,
    code varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
    PRIMARY KEY (code) USING BTREE,
    INDEX INIX_DATETIME(datetime) USING BTREE
) CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

执行这条SQL语句后,系统就能正常访问股票指标数据了。此外,也可以直接运行项目中的初始化脚本:

python InStock/instock/job/init_job.py

后续建议

对于项目维护者来说,建议在系统初始化流程中加入对此表的自动创建检查,避免用户需要手动干预。同时,在Docker镜像构建过程中,也应该确保所有必要的数据库结构都已正确初始化。

对于使用者来说,如果在部署过程中遇到类似表缺失的问题,可以先检查数据库结构是否完整,必要时参考项目文档或社区讨论寻找解决方案。

登录后查看全文
热门项目推荐
相关项目推荐