Только что начав с Doctrine ORM for PHP (v1.1.5) и столкнувшись с чем-то неожиданным.Созданные модели доктрины уважают случай, но сгенерированный Ямл не
Я генерации модели из БД (MySQL 4) с помощью:
Doctrine::generateModelsFromDb($pathToModels);
Затем генерации YAML из моделей с помощью:
Doctrine::generateYamlFromModels($pathToSchema . '/schema.yml', $pathToModels);
В сгенерированных моделей, имена столбцов (как определено в hasColumn()
) используют тот же случай для полей, что и в db. Все хорошо.
Но в сгенерированном YAML имена столбцов являются строчными, независимо от случая в модели.
В способе generateYamlFromModels()
не существует параметров, которые я мог бы использовать для настройки. Есть ли другой атрибут, который я должен устанавливать где-то, возможно, на уровне соединения или на уровне менеджера и т. Д.? Может это ошибка?
Любые идеи очень ценятся. Спасибо и ура!
Я видел вопрос Doctrine ORM: Models not respecting case, но пропустил этот бит в одном из ответов:
Итак, это все, что есть? Невозможно получить должное уважение к поколению Yaml, но я могу вручную настроить YAML с помощью наложения псевдонимов? –Боже, что это за публичное размещение вопроса, который заставляет ответы просто выскочить прямо? Тот же ответ, что и выше (http://stackoverflow.com/questions/1501501/doctrine-orm-models-not-respecting-case/1620387#1620387) отмечает: «Кроме того, вы можете автоматизировать сглаживание полей путем разработки настраиваемой задачи для Doctrine. ». Я буду исследовать больше и, возможно, последующую работу там, если это необходимо. Сожалею. [Пожалуйста, не меняйте вниз. Я прав на грани привилегий комментариев.] –
Похоже, что Doctrine_Table :: setColumn() устанавливает имя столбца в нижний регистр, если он не видит там псевдонима. –