2010-04-15 2 views
1

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

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

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

+0

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

ответ

3

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

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

$ python manage.py inspectdb > models.py 

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

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

+0

это супер здорово. Я должен проверить это. –

0

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

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

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

Смежные вопросы