Обратный инженер ОРМ - PullRequest
       7

Обратный инженер ОРМ

1 голос
/ 15 апреля 2010

Имея базу данных [mysql] с заданной схемой, возможно ли создать для нее интерфейс ORM? не имеет значения, его php, python или perl.

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

это правильный вопрос, даже? У меня нет опыта разработки ORM, но я использовал несколько (django, symfony и т. Д.).

Ответы [ 2 ]

3 голосов
/ 15 апреля 2010

ORM Django сделает это за вас (или, по крайней мере, запустит процесс за вас).

Просто настройте приложение django как обычно (включая настройки подключения к БД), затем сделайте следующее:

$ python manage.py inspectdb > models.py

Я сделал это один раз, чтобы помочь мне разобраться с устаревшей (php) базой данных сайта, которую мне было поручено поддерживать. Это была небольшая работа, но в итоге я смог использовать административный сайт django для управления им (проект был отложен, но это уже другая история).

См .: http://docs.djangoproject.com/en/dev/howto/legacy-databases/

0 голосов
/ 15 апреля 2010

Я не совсем уверен, что именно вы спрашиваете, но я подозреваю, что ответ "конечно, вы можете указать инструмент ORM на существующую базу данных и получить некоторые классы, которые несколько полезны"

Doctrine приходит на ум как инструмент PHP ORM, который может (вроде) делать это. Если ваша схема имеет разумные названия для вещей, лучше всего будет найти для вас отношения и т. Д.

Не уверен, что это действительно стоит затраченных усилий, но если вам интересно, почему бы не попробовать?

...