我们正在使用Cakephp开展一个庞大的项目。我们已经开始使用MySQL,但现在他们要求迁移到Oracle!现在,我们刚刚开始这个可爱的任务! :)
我们不使用cakephp模式,但是用于表及其列的驼峰名称(这是客户要求!)。
Oracle中的列表名称区分大小写,因为我们在创建表时将名称放在“”(双引号)之间。如果我们不这样做,甲骨文就会大写。
但是cakephp的oracle驱动器似乎忽略了camelcased配置,解析字段名称总是不区分大小写,并在查询结果数组中将名称转换为小写。
而不是
$res['TableName']['ColumnName'] //camelcased
我得到了
$res['TableName']['columnname'] //lowercased! :(
有人知道如何克服它吗?
答案 0 :(得分:1)
我认为您需要与您的客户进行艰苦的交谈。如果驼峰套管是客户要求,那么他们不应该使用Oracle。你不能同时拥有这两个,它将是一个被黑的混乱,因为Oracle中的所有东西都得到了大写,表,列,存储过程和列表继续。
你最终会用“Table1”攻击所有内容。“Column1”引用。这将无法高度维护,并且每个Oracle DBA在查看数据库结构时都需要进行上下文切换。
他们,您的客户,要么需要使用Oracle标准,要么不使用Oracle。