질문/조언질답게시판
Extra Form
PHP PHP 7.2
CMS Rhymix

files 테이블에 몇가지 추가 정보를 저장하고 싶습니다.

 

게시판 모듈 같은 경우는 확장변수를 통해서 추가 컬럼을 지원할 수 있는데요

파일모듈에는 그런 기능이 없더라구요.

 

그래서 두가지 방법을 생각해봤는데요.

1. files 테이블에 직접 컬럼을 추가한 후 사용

2. 추가 테이블을 구성하여 사용

 

2번 방식보다는 되도록 1번 방식으로 한 테이블에 컬럼을 추가해서 사용하고 싶습니다.

1번 방식으로 테이블에 직접 컬럼 추가 후 사용해도 기존 라이믹스 동작에 별 다른 문제가 없을까요 ?

 

  • profile

    개인적으로 추가해서 쓰신다면 상관없지만, 배포 또는 판매하실 모듈이라면 코어 또는 다른 모듈에서 정의한 테이블은 건드리지 않는 것이 좋습니다. 예전에도 XE 기본 테이블에 컬럼을 멋대로 추가해서 쓰는 서드파티 자료들이 있었는데, 당장은 작동하는 것처럼 보여도 나중에 꼭 탈이 나더라구요.

     

    게다가 라이믹스는 최근에도 files 테이블에 컬럼이 여러 개 추가되었습니다. XE보다 훨씬 빨리, 예고 없이, 과격하게 바뀔 수 있으므로 님이 추가하신 것과 언제 충돌할지 모릅니다.

     

    조금 귀찮더라도 정석은 2번입니다. 별도 테이블에 저장된 데이터를 나중에 다시 불러올 때 N+1 패턴이 되지 않도록 주의하시기만 하면 됩니다.

  • profile ?

    먼저 답변 감사합니다

    생각을 해봤는데요.
    이름만 겹치지 않게 컬럼을 추가하면 모듈을 건드리지 않고 스킨단에서 그냥 값을 뽑아 올 수 있지만, 별도 테이블 작성 후 말씀 하신 N+1쿼리 문제를 해결하려면 모듈 자체의 쿼리문을 건드려야 하지 않나요 ?

  • ? profile
    N+1은 최악이지만 1+1은 괜찮습니다. 추가된 값들만 일괄적으로 불러오기 위한 쿼리를 하나 추가하시라는 거지요. 문서 확장변수도 그런 식으로 불러옵니다.
  • profile ?
    아 네네 그렇네요 문서 확장변수 참조해서 작성하면 되겠네요. 감사합니다!!

서버에 요청 중입니다. 잠시만 기다려 주십시오...