CakePHP + Oracle + CamelCased列表名称问题

时间:2011-08-03 23:44:23

标签: oracle cakephp names camelcasing

我们正在使用Cakephp开展一个庞大的项目。我们已经开始使用MySQL,但现在他们要求迁移到Oracle!现在,我们刚刚开始这个可爱的任务! :)

我们使用cakephp模式,但是用于表及其列的驼峰名称(这是客户要求!)。

Oracle中的列表名称区分大小写,因为我们在创建表时将名称放在“”(双引号)之间。如果我们不这样做,甲骨文就会大写。

但是cakephp的oracle驱动器似乎忽略了camelcased配置,解析字段名称总是不区分大小写,并在查询结果数组中将名称转换为小写。

而不是

$res['TableName']['ColumnName']  //camelcased

我得到了

$res['TableName']['columnname']  //lowercased! :(

有人知道如何克服它吗?

1 个答案:

答案 0 :(得分:1)

我认为您需要与您的客户进行艰苦的交谈。如果驼峰套管是客户要求,那么他们不应该使用Oracle。你不能同时拥有这两个,它将是一个被黑的混乱,因为Oracle中的所有东西都得到了大写,表,列,存储过程和列表继续。

你最终会用“Table1”攻击所有内容。“Column1”引用。这将无法高度维护,并且每个Oracle DBA在查看数据库结构时都需要进行上下文切换。

他们,您的客户,要么需要使用Oracle标准,要么不使用Oracle。