typeorm oracle 表大小写问题

oracle 对于表名的定义包含了是否包含双引号的问题,但是默认typeorm 创建的是包含了双引号的,造成数据查询会有问题(typeorm 自身没有问题,但是外部查询会有问题)

解决方法

  • 自定义命名策略
    参考
 
class OracleNameStrategy extends typeorm.DefaultNamingStrategy {
    tableName(targetName,userSpecifiedName) {
        if(userSpecifiedName) {
            return userSpecifiedName.toUpperCase();
        } 
        return targetName.toUpperCase();
    }
}
  • 使用
    在datasource 中定义
 
const dataSource = new typeorm.DataSource({
    type: "oracle",
    username: "xxxxxx",
    password: "xxxxxx",
    connectString:"xxxxxx/xxxxx",
    synchronize: true,
    namingStrategy: new OracleNameStrategy(),
    entities: [require("./entity")],
})

参考资料

https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/Database-Object-Names-and-Qualifiers.html#GUID-75337742-67FD-4EC0-985F-741C93D918DA
https://stackoverflow.com/questions/59164738/createquerybuilder-does-not-return-data-with-oracle-because-typeorm-generates-sq

posted on   荣锋亮  阅读(42)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2022-10-20 dremio kernel 模块之DremioSqlDialect
2022-10-20 wget --no-check-certificate 问题解决
2020-10-20 go-plugin hashicorp开源的golang插件框架
2020-10-20 maven 下载项目依赖jar包的方法
2019-10-20 space-cloud 支持多数据库多rest&& graphql web server
2019-10-20 不要轻易在java ext 目录放任何三方jar包
2018-10-20 knowledge-repo 知识管理简单试用

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示