2010-10-27 3 views
1

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

Благодарим вас за понимание!

+0

Вы проверили CCK + Views? с представлениями вы можете построить действительно сложные отношения – Bladedu

+1

Ответы ниже подходят для реализации. Если у вас есть структура контента правильно, вы, вероятно, захотите посмотреть на модули «tablewizard» и «migrate». Они требуют небольшого кодирования, но очень легко получить контент в drupal. –

+0

Думаю, мне нужно больше узнать, как друг по другу связывает таблицы друг с другом. Одна из моих забот заключается в том, что если я поместил все проекты, COmpanies и другие вещи в узлы, каждый из них будет собственным типом контента. Имея записи более 7K-15K в некоторых таблицах, я немного обеспокоен тем, как drupal будет обрабатывать эти большие объемы данных. Мне придется копать глубже. Спасибо за понимание! – r2b2

ответ

5

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

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

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

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

+0

Когда вы говорите о потенциальной накладной, означает ли это сохранение всего, поскольку узлы замедляют мой сайт? Это потому, что drupal должен делать несколько самостоятельных подключений? В действительности таблица проектов содержит 15 000 записей, 8000 для компаний и около 44000 для таблицы ролей , – r2b2

+0

В основном накладные расходы на реализацию. –

+0

Накладные расходы узлов напрямую связаны с преимуществами: большинство модулей в Drupal взаимодействуют с узлами, поэтому каждый раз, когда вы что-то делаете с узлом (загружаете его, сохраняете, просматриваете), большинство модулей, которые вы установили, проверяют, нужны ли они что-то делать и, возможно, делать что-то на основе того, что вы только что сделали. Там, где это полезно, узлы полезны. Где это не так, это все накладные расходы. –

0

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

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

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