2012-02-05 2 views
0

사용자가 다운로드하여 설치하는 오픈 소스 웹 응용 프로그램 (헬프 데스크)을 개발 중입니다. 이 응용 프로그램에는 제목, 색상, 기본 전자 메일, 로그 등의 일부 설정이 있습니다 (예 :). 이 설정은 대부분 관리자가 코드에서 수행하는 방법을 이해할 수 없기 때문에 관리자 패널에서 사용자가 편집합니다.웹 응용 프로그램의 데이터베이스에 설정 저장 중입니까?

제 질문은 (MySQL) 데이터베이스 모델에 이것을 저장하는 가장 좋은 방법은 무엇입니까? 이 응용 프로그램이 업그레이드되고 해당 설정 테이블에 더 많은 "설정"을 추가하는 것으로 계산하십시오.

는이 작업을 수행하는 여러 가지 방법이 많이 있습니다

답변

0

사전에 감사합니다, 그것을 당신이 최종 요구 사항이 될 것입니다 생각에 따라 달라집니다.

별도의 행에있는 각 매개 변수/사용자/값은 전용 테이블에 매개 변수를 저장하는 데 아무런 문제가 없습니다. 이것은 정보를 설정하고 가져 오는 빠른 방법이며 매개 변수 및 값과 사용자별로 보고서에 쉽게 액세스 할 수 있습니다 (예 : 가장 많이 사용되는 색).

구성 용으로 방금 사용하는 경우 매개 변수를 text/blob 필드에 XML 또는 JSON 문자열로 저장할 수 있습니다. 이것은 모든 매개 변수 값을 얻기 위해 단일로드를 제공하는 이점이 있습니다. 훨씬 더 강력합니다. 응용 프로그램에 이미 매개 변수의 기본값이있는 경우 데이터베이스 레코드를 변경하지 않고 응용 프로그램을 쉽게 확장 할 수 있습니다. 많은 수의 매개 변수에 대해, 이것은 모든 매개 변수를로드하는 DB 호출 수를 줄입니다.

+0

아이디어는 사용자에게 가치를 부여하는 것이 아니라 응용 프로그램의 일반적인 구성이므로 변경되지 않습니다. 필자는 각 속성에 대해 1 행의 열 또는 각 속성에 대한 행이있는 스키마를 보았습니다. XML/JSON의 아이디어는 매우 좋은 방법입니다. – udexter

관련 문제