Как мне это сделать в Drupal? - PullRequest
       4

Как мне это сделать в Drupal?

1 голос
/ 27 октября 2010

Я сейчас оцениваю Drupal, чтобы посмотреть, сможем ли мы использовать его для замены нашей платформы. Моя проблема в том, что у меня есть эти устаревшие таблицы, которые я бы хотел отразить в Drupal. Он включает в себя таблицу соединений. В нашем существующем веб-приложении довольно много таких отношений, поэтому я ищу возможные пути их решения. alt text

Спасибо за понимание!

Ответы [ 3 ]

5 голосов
/ 27 октября 2010

Есть несколько способов сделать это, и трудно понять, какой из них лучше без контекста о том, что вы на самом деле делаете с данными, но вот несколько вариантов:

Один из способов сделать этозаключается в создании типа контента, представляющего каждую таблицу (используя CCK ) с внешними ключами, представленными ссылочными полями для конкретного типа узла.Делая все как узлы, вы получаете кучу готовых функциональных возможностей вокруг узлов, но у вас есть некоторые накладные расходы, которых вы, возможно, захотите избежать.

Другой вариант - оставить вашу базу данных такой, какая она есть сейчас.Drupal может выполнять прямые запросы к базе данных, или вы можете использовать Data для представления ваших таблиц в Views.

Другой вариант, если эти ссылочные таблицы действительно имеют только 1 поле без идентификатора, это сделатьproject_companies_assignments как узлы, а остальные 3 как таксономии.Но это не сработает, если это действительно более сложные объекты, и не будет очень гибким, если они могут стать более сложными.

1 голос
/ 17 сентября 2011

Как насчет использования hook_views_api и показа ваших старых таблиц в hook_views_data? Я сам попробовал что-то подобное - не уверен, что ты этого хочешь ...

попробуйте и дайте мне знать, если это работает для вас.

http://drupalwalla.blogspot.com/2011/09/how-do-you-expose-your-legacy-database.html

0 голосов
/ 28 октября 2010

Переход с Views и CCK, опционально с дополнительным модулем Data, имеет один огромный недостаток: он усложняется.

Моя предпочтительная альтернатива - написать свой собственный модуль. Drupal предлагает небольшую помощь по абстракции базы данных, он не поставляется с надлежащим ORM или чем-то подобным. Но с некоторыми простыми функциями CRUD для данных в базе данных, несколькими простыми формами впереди и обратным вызовом меню с несколькими страницами для представления данных, вы можете - довольно часто - получить свою модель данных гораздо быстрее, чем идти по маршруту из слишком сложных, часто плохо документированных модулей CCK и представлений. ПОЦЕЛУЙ.

...