2010-06-22 4 views
2

웹 애플리케이션을 만들고 있는데, MVP 배경에서 오는 Drupal의 db에 대해 생각하는 방법을 알고 싶습니다. SSN, 이름, 성, 우편 번호, 주소, 언어, 위치와 같은 사람들의 데이터를 나타내는 테이블이 있습니다. 이제 프론트 엔드에서 많은 주제 (사람들)에 대해이 정보를 채우는 양식을 만들고 싶습니다. 내 데이터베이스를 정규화하여 우편 번호가 자체 테이블 (사람 테이블에 대한 외래 키 링크 포함)을 갖도록했습니다. "person"테이블에는 이름, 성, 주소 등의 항목이 있으며 "언어"테이블에는 다른 언어 약어가 있습니다 (다시 사람 테이블로 돌아가는 외래 키).데이터베이스 스키마를 drupal로 이동

나는 이것을 drupal의 스키마로 옮기는 방법을 알고 싶다. 내 자신의 테이블을 만들고 "노드"테이블에 다시 연결할 수 있고 다음 사용자 입력을 받아들이 기 위해 내 양식을 빌드하는 것 같아요 ...하지만이 방법을 제안 할 수 있습니까? 나는 webform을보고 있었지만 데이터베이스가 정규화되지 않고 모든 것이 하나의 큰 테이블에 저장되는 단순한 양식에 사용해야한다고 생각합니다. 나는 잘 모르겠다. 그러나 나는 네가 생각하는 것을 듣고 싶다 ... 그리고 내가 위대한 사람이 될만한 자원을 가르쳐 줄 수 있다면.

+0

사용자 또는 고객이 있습니까? – googletorp

+0

그들은 고객입니다 – berto77

답변

2

정보를 저장하는 중이고 주제 (사람)가 Drupal 사이트의 사용자가 아닌 것처럼 들립니다.

노드와 CCK 모듈을 활용하면 대부분의 개발 작업이 제거됩니다. 예를 들어, 각 테이블 (예 : 사람, 우편 번호, 언어)은 여러 필드가있는 콘텐츠 유형으로 나타낼 수 있습니다. 외래 키는 노드 참조 필드로 표시됩니다. 따라서 Person 내용 유형에는 유형이 노드 인 노드에 대한 하나 이상의 노드 참조가있을 수 있습니다.

migrate module 잘 (626th most popular of 4000+ modules 적어도 10 개 별개의 드루팔 사이트에 사용)를 사용 것 같다,하지만 자신의 마이그레이션 스크립트를 채찍질하는 것이 더 쉬울 수 있습니다,하지만 난과의 친숙 중 하나를 상황에 익숙하지 않은 해요 Drupal의 API 또는 마이그레이션 모듈.

노드 참조 필드는 기본적으로 참조 된 노드에 대한 링크로 표시되지만 대신 참조 된 노드를로드하여 표시 할 수 있습니다 (예 : 사람 노드에 언어 정보 표시). 노드 노드 참조 필드를로드하고 참조 된 노드의 내용을 선택적으로 표시하는 방법에 대해 설명하는 편리한 screencast이 있습니다.

+0

좋습니다. 노드 참조는 기본적으로 "외부 키"링크입니다. - 의미가 있습니다. 감사합니다. – berto77

3

Drupal은 원하는 테이블을 만들고 노드 테이블에 다시 링크하는 코드를 작성할 수있을만큼 유연합니다. 그러나 이렇게하면 스키마에 매우 특정한 많은 코드로 끝나고 다른 Drupal 모듈과의 상호 운용성은 떨어집니다.

드루팔 (Drupal) 방식으로 일을 많이한다면 드루팔 (Drupal)을 더 잘 활용할 수 있습니다. 그리고 표준 Drupal 모듈에서 다루지 않는 무언가를하고있는 매우 맞춤화 된 솔루션으로 만 갈 수 있습니다.

예를 들어 사람들에 대한 표준 정보가있는 한 profile module은 사용자의 요구에 맞을 수 있습니다. location 모듈 (특히 사용자 위치)은 사용자 주소를 포함합니다. 이 모듈을 사용하면 미래에 모듈과 함께 사용할 수있는 다른 모듈을 찾을 가능성이 높아지고 전반적으로 작성할 코드가 적어집니다.

유용한 정보 중 하나는 기존 데이터를 Drupal로 가져 오는 것입니다. migrate module입니다.

+0

감사합니다. Jeremy ... 프로필 및 위치 모듈은 (사이트 사용자로서) 가입 한 사용자를위한 것 같습니다. 나는 사람 (주체) 데이터를 포착하기위한 형식이 필요했습니다. 그러나 코멘트에 감사드립니다. .. 나에게 더 많은 통찰을 주었다. 아마도 해당 모듈의 일부 테이블을 사용할 수도 있습니다. – berto77

1

MVC 백그라운드에서 오는 것은 Drupal이 DB에 데이터를 저장하는 방법을 좋아하지 않을 수 있습니다.

프로필 모듈이 언급되었지만 콘텐츠 프로필과 CCK가 결합 된 유연성이 향상되었습니다.

이전에 Coldfusion에서 Drupal로 마이그레이션 스크립트를 작성했으며 너무 복잡하지 않습니다.

+0

콘텐츠 프로필을 확인합니다. – berto77

관련 문제