멀티 테넌트 웹 앱을 만들고 있습니다.'modules/addons'의 설정을 데이터베이스에 저장합니다.
이 부분에는 각 사용자 (사이트라고도 함)에 대해 켜고 끌 수있는 일부 모듈/'addons'이 있습니다. 예를 들어 두 개의 모듈이있을 수 있습니다. Mailchip 뉴스 레터 양식 및 소셜 미디어 공유 버튼. 내가 모듈을 사용하도록 설정/사용하는 사이트를 원하는 경우
내가 다음
id | name | handler_class
1 | MailChip | MailChimpModule
2 | Social Media Share Buttons | SocialMediaShares
같은 DB의 테이블을 가지고 생각하고 있었는데, 나는 가입/피벗 테이블에 레코드를 추가합니다.
id | site_id | module_id | config
1 | 1 | 2 | []
여기에서 site_id 1은 두 번째 모듈을 사용할 수 있습니다.
이제 재미있는 부분이 설정에옵니다. 피벗 테이블에 json 배열로 각 모듈에 대한 구성을 저장하는 생각했다. 이렇게하면 각 핸들러 클래스는 필요한 구성 필드의 배열을 지정할 수 있습니다. SocialMediaShares.php에서
예를 들어
저장하거나이 정보를로드 처리하기 위해로드 이벤트/쓰기에있다, 그 다음protected $settings = [‘FacebookPage’ => ‘’, ‘TwitterPage’ => ‘’];
가있을 수 있습니다 파일.
하지만 ... 확실하지 않습니다.
json으로 설정해야합니까, 아니면 각 모듈에 대해 별도의 테이블을 만드는 것이 좋을까요? 그리고 혼란 스러울 것입니다.
누구로부터이 의견을 듣고 싶습니다.