数据库
首页 > 数据库> > 记一次Postgresql的毒打

记一次Postgresql的毒打

作者:互联网

背景

beego orm + pgsql + powerDesigner

过程

今天,在使用beego orm读数据库时,死活读不上数据,调源码时发现是tag匹配不上数据库里的字段
一看,pgsql里的字段全是小写
可是我在powerDesigner里设计CDM时,用的是驼峰命名,问题不在这
再往下查,生成的PDM也是驼峰的
继续往下看建表的SQL脚本,依旧是驼峰的
难道是pgsql的问题?

再通过Navicat写点SQL,字段全弄成驼峰形式,查询没问题,字段全弄成大写,查询也没问题
基本破案了,在处理sql时,pgsq大小写不敏感,处理的时候都弄成小写去处理了

影响

虽说可以通过双引号的方式让pgsql接受大写字母,但如果是powerDesigner生成建表语句,就没办法生成驼峰的字段...
一旦再设计CDM或PDM时添加双引号,生成出来的SQL语句,将会被加上额外的双引号...直接没法执行

所以在通过powerDesigner设计表结构时,最好使用下划线命名法,以避免数据库更换带来的坑

解决办法

参考

PostgreSQL中表名、字段名大小写问题



来自为知笔记(Wiz)

标签:一次,Postgresql,驼峰,毒打,双引号,powerDesigner,pgsql,orm,SQL
来源: https://www.cnblogs.com/Keeping-Fit/p/15164294.html