TypeORM创建名称中使用双引号的表和列。示例:创建表"users"("id"编号、"name" varchar2(30)"等
问题是,如果我试图查询表(使用任何Oracle SQL客户端),我必须使用双引号。从用户中选择 *。我必须使用:从"用户"中选择 *。
第一次尝试:我使用命令queryRunner.query("create table users ...")手动创建了我的迁移。它工作正常,但是当我尝试使用用户存储库时,TypeORM说找不到表,因为它尝试使用"user"作为表名插入。插入到"用户"("id","name",....
对于Oracle:select * from "user"与select * from user不同。如果表是用双引号创建的,则只能用双引号查找。
我使用的是typeorm版本"^0.3.12"。
我知道在旧版本的typeorm中有一个名为quoteIdentifiers = false的参数,可以解决这个问题,但是在新版本中不起作用。
有什么办法吗?
先谢谢你。
1条答案
按热度按时间vyswwuz21#
如果您无法找到在TypeORM中执行此操作的方法,并且需要最后的解决方法,则可以创建INSTEAD OF CREATE触发器来拦截create DDL并删除双引号。但是,您确实希望在客户端解决此问题。如果您确实需要尝试此解决方法,则可以这样做:
试验:
结果:
COL1
(大写)