版本与环境
- 受影响提交:
752e11e(当前代码生成依赖链)
- 运行时:Windows,Python 3.10+,遗留
TemplateContext.build_entity_context() 入口
- 安装方式:仓库
.venv / PYTHONPATH=src
问题与预期行为
TemplateContext.build_entity_context() 返回的 hasAutoIncrement 当前使用 any(col.primary_key for col in table.columns) 计算。普通非自增主键因此被标记为自增;真正的自增列若没有主键标记则可能被漏报。该字段会被旧版实体模板和外部调用方用于决定是否生成数据库键回填相关配置。
预期行为:hasAutoIncrement 只反映 ColumnInfo.auto_increment,与新 TemplateContextBuilder 的列元数据语义一致。
最小复现
PYTHONPATH=src python -c "from dbjavagenix.core.models import ColumnInfo,TableInfo,GenerationConfig; from dbjavagenix.generator.mustache_engine import TemplateContext; c=GenerationConfig(output_dir='out',package_name='com.example'); t=TableInfo(name='account',schema='public',columns=[ColumnInfo(name='id',data_type='BIGINT',java_type='Long',primary_key=True,auto_increment=False)]); print(TemplateContext.build_entity_context(t,c)['hasAutoIncrement'])"
修复前输出 True,但该列并非自增。
验收标准
非目标、风险与安全
本 Issue 不删除遗留入口、不修改新模板上下文、不改变数据库 introspection 或 SQL,也不涉及凭据。风险仅为纠正一个此前错误的派生标志;可通过回滚关联提交恢复旧行为。
版本与环境
752e11e(当前代码生成依赖链)TemplateContext.build_entity_context()入口.venv/PYTHONPATH=src问题与预期行为
TemplateContext.build_entity_context()返回的hasAutoIncrement当前使用any(col.primary_key for col in table.columns)计算。普通非自增主键因此被标记为自增;真正的自增列若没有主键标记则可能被漏报。该字段会被旧版实体模板和外部调用方用于决定是否生成数据库键回填相关配置。预期行为:
hasAutoIncrement只反映ColumnInfo.auto_increment,与新TemplateContextBuilder的列元数据语义一致。最小复现
修复前输出
True,但该列并非自增。验收标准
auto_increment=True的列会使hasAutoIncrement=True。非目标、风险与安全
本 Issue 不删除遗留入口、不修改新模板上下文、不改变数据库 introspection 或 SQL,也不涉及凭据。风险仅为纠正一个此前错误的派生标志;可通过回滚关联提交恢复旧行为。