You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GeneXus 16知识库Preserve Table Casing不生效解决方法

根因说明

从历史版本迁移升级得到的GeneXus 16知识库,Preserve Table Casing属性存在两层配置优先级:对象级属性 > 版本偏好全局配置。
迁移过程中所有存量表对象会自动写入迁移时的默认值False作为对象级固定配置,优先级高于你后续在版本偏好里修改的全局True值,因此全局配置不会对已存在的表生效,生成的SQL依然会把表名转为全大写。

操作步骤

按以下顺序配置即可让生成语句保留表名的大小写混合格式:

  • 确认全局默认配置
    打开知识库版本偏好设置页,找到Preserve Table Casing属性,确认值设为True,该配置仅对配置完成后新建的表对象默认生效。
  • 批量修正存量表的对象级属性
    迁移生成的所有存量表不会自动继承全局配置更新,需要手动批量调整:
    1. 在知识库导航器中通过对象筛选器过滤出所有Table类型对象,执行全选
    2. 右键选中对象打开属性面板
    3. 在属性列表中找到Preserve Table Casing项,将值统一修改为True

    注意:筛选表对象时不要遗漏多对多关联自动生成的中间表、GAM权限相关系统表,这类非用户手动创建的表同样受对象级属性控制,漏改会导致部分表名依然为全大写。

  • 重新生成数据库脚本
    配置完成后点击菜单栏Build > Rebuild All执行全量重编译,重新生成的DDL、SQL查询语句就会保留表名原始的大小写混合格式,不会自动转全大写。
排查补充

如果完成以上操作后依然输出全大写表名,检查当前使用的数据库生成器(如MySQL、PostgreSQL、SQL Server等)的专属配置,部分生成器提供独立的Case Sensitive Object Names属性,需要同步设置为True才会完全生效。

内容的提问来源于stack exchange,提问作者ealmeida

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.14 16:15:48