如何使推进orm使用区分大小写的名称


Propel ORM无法查询生产环境,因为它连接到的数据库启用了区分大小写功能(linux/ubuntu(。由于数据库由另一个组织管理,因此修复它比从我们端对代码进行更改更困难。

有没有办法强制Propel ORM使用区分大小写的名称?

谢谢!

Propel在生成的文件中有一个Map目录。该目录具有表名和列名的所有映射,这些映射将MySQL的使用推向MySQL的使用。

我们通过编写一个简单的python脚本来解决我们的问题,该脚本根据我们的要求更正大小写敏感性。

Map目录中的每个文件都对应于一个表的映射。我们的脚本一个接一个地打开每个文件,并用我们的特定要求(即使表名大写(替换每个映射:

以下是我们用来匹配表名映射的RegEx:

"(s*const TABLE_NAME = ')([a-zA-Z_]+)(';)"

RegEx用于匹配每个文件中的列映射:

"(s** the column name for the.*s**/.*s*const [a-zA-Z_]+ = ')([a-zA-Z_]+)(.[a-zA-Z_]+)(';)"

最新更新