Проблема имен таблиц столбцов в CakePHP + Oracle + CamelCased - PullRequest
0 голосов
/ 04 августа 2011

Мы работаем над огромным проектом с использованием Cakephp.Мы начали использовать MySQL, но теперь они просят перейти на Oracle!Теперь мы только начали эту прекрасную задачу!:)

Мы не используем шаблоны CakePHP, но используем имена верблюдов для таблиц и их столбцов (Это было требование клиента!).

Имена таблиц столбцов в Oracleчувствительны к регистру, поскольку мы ставим имя между "" (двойные кавычки) при создании таблиц.Если мы этого не сделаем, Oracle поставит верхний регистр.

Но оракуловый движок cakephp, похоже, игнорирует конфигурацию на основе верблюдов, анализирует имя поля всегда без учета регистра и превращает имена в нижний регистр в массиве результатов запроса.Вместо

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

я получил

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

У кого-нибудь есть идеи, как его преодолеть?

1 Ответ

1 голос
/ 04 августа 2011

Я думаю, вам нужно серьезно поговорить с вашим клиентом.Если верблюжья оболочка является требованием клиента, то они не должны использовать Oracle.Вы не можете иметь и то и другое, это будет один взломанный беспорядок, так как все в Oracle получает верхний регистр, таблицы, столбцы, хранимые процедуры и список продолжается.

В итоге вы все взломаете с помощью "Table1"Цитаты "Column1".Это не будет легко обслуживаться, и каждому администратору базы данных Oracle потребуется переключение контекста при просмотре структур базы данных.

Они, ваш клиент, должны либо использовать стандарты Oracle, либо не использовать Oracle.

...