모듈을 개발중인데, 한 멤버에게 적용되는 전역설정을 추가해야 합니다
그런데 모듈 구조상 따로 테이블을 하나 만들어서 설정을 넣어야 하는데, 공간낭비같은 느낌이 들어서..
그래서 생각해보니 member 테이블에 컬럼 하나를 추가하는게 가장 빠르게 먹힐거 같더라고요
그런데 member 테이블은 RX에서 관리하는 테이블이기도 하고, 코어수정은 아니지만 멋대로 변경하면 나중에 좀 문제가 생길수도 있을거 같아서 말이죠..
Null 허용해주면 데이터 추가/삭제에 전혀 문제가 없기는 하지만 좀 찝찝해서 질문 올립니다
라이믹스에 정상적인 동작이 보장된다는 전제하에, RX 기본 DB 테이블에 컬럼을 추가하는 등의 수정작업을 모듈에서 진행해도 되나요? (정확히는 모듈 설치시에겠네요)
개인적으로 컬럼을 추가하거나 변경해서 사용하시는 것은 상관없습니다.
타인에게 배포 또는 판매할 자료에서는 비추입니다.
호환성 문제는 둘째치고, member처럼 많은 데이터가 쌓이는 테이블에 ALTER TABLE 한 번 날리는 것만으로도 사이트가 수 분 ~ 수십 분간 먹통이 되는 수가 있습니다. documents, comments, files 등 많이 사용되는 테이블 모두 마찬가지입니다. 코어 개발팀도 이런 테이블들의 스키마를 함부로 변경하지 못합니다. 그냥 배포했다가는 누구나 들어도 알 만한 사이트가 터지는 사태를 볼 수도 있습니다. ㅋㅋㅋ
memberController->updateMemberExtraVars()를 사용하면 가입폼에 있는 것 외에도 회원정보에 임의의 확장변수를 추가할 수 있으니, 만약 이걸로 구현할 수 있는 기능이라면 테이블 스키마 변경이 필요없을지도 모르겠습니다. 물론 serialize해서 저장되는 컬럼이니까 검색 같은 건 어렵겠죠...