본문으로 이동
주 메뉴
주 메뉴
사이드바로 이동
숨기기
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
LS Taiwan
검색
검색
보이기
계정 만들기
로그인
개인 도구
계정 만들기
로그인
로그아웃한 편집자를 위한 문서
더 알아보기
기여
토론
Dolibarr 모듈 개발
편집하기 (부분)
문서
토론
한국어
읽기
편집
역사 보기
도구
도구
사이드바로 이동
숨기기
동작
읽기
편집
역사 보기
일반
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
보이기
사이드바로 이동
숨기기
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
= DB, SQL= SQL 테이블 생성의 필요성: : • 모듈 자체 데이터 관리: 돌리바의 표준 버전에서 제공하지 않는 고유한 데이터를 관리해야 하는 경우, 해당 데이터를 저장하기 위한 SQL 테이블을 정의해야 합니다. SQL 파일 생성 방법: :• SQL 디렉토리: 모듈의 SQL 테이블 생성 및 데이터 로딩 스크립트는 모듈 디렉토리 내의 sql 하위 디렉토리 ("mymodule/sql")에 저장됩니다. 모듈 빌더를 사용하는 경우, 새로운 객체를 생성할 때 이 디렉토리와 SQL 파일이 자동으로 생성될 수 있습니다. :• 파일 명명 규칙: 테이블 생성 명령이 담긴 파일은 테이블당 하나의 llx_mytable.sql 형식으로 이름을 지정하는 것이 원칙입니다. 필요에 따라 인덱스 생성을 위한 llx_mytable.key.sql 파일을 추가할 수 있습니다. 기존 파일의 예시는 install/mysql/tables 디렉토리에서 확인할 수 있습니다. :• 데이터 파일: 초기 데이터 추가, 수정 또는 삭제를 위한 SQL 명령은 mymodule/sql/ 디렉토리 내의 data.sql 파일에 포함해야 합니다. :• 중요 규칙: ::◦ SQL 필드의 권장 타입과 이름은 [https://wiki.dolibarr.org/index.php?title=Language_and_development_rules#Table_and_fields_structures Language_and_development_rules#Table_and_fields_structures] 페이지를 참고해야 합니다. ::◦ 문자열에는 큰따옴표 대신 작은따옴표를 사용해야 합니다 (예: 'chaine', "chaine"` 아님). 큰따옴표는 PostgreSQL에서 특정 의미를 가집니다. ::◦ SQL 파일은 MySQL 데이터베이스에서 작동해야 합니다. 다른 데이터베이스 (PostgreSQL 등)의 파일은 유지 관리되지 않지만, 해당 데이터베이스 드라이버에 의해 즉석에서 읽고 변환됩니다. :• 테이블 로딩: 모듈 설명자 파일의 init 함수 내에서 $this->_load_tables('/mymodule/sql/'); 라인이 주석 처리되어 있지 않은지 확인해야 모듈 활성화 시 SQL 파일이 실행되어 테이블이 생성됩니다. SQL 파일 테스트: :• SQL 파일이 준비되면, 돌리바 모듈 설정 페이지에서 해당 모듈을 비활성화했다가 다시 활성화하여 SQL 스크립트가 제대로 실행되는지 테스트할 수 있습니다. 모듈 활성화 시 테이블이 다시 생성되어야 합니다. 그렇지 않은 경우, 스크립트를 직접 실행하거나 돌리바 로그를 확인해야 합니다. PHP DAO 클래스 생성: : • 목적: PHP DAO 클래스는 모듈의 자체 데이터를 관리하기 위한 CRUD (Create, Read, Update, Delete) 작업을 수행하는 메서드를 제공합니다. : • 생성 방법: ::◦ 모듈 빌더 권장: 모듈 빌더에서 객체를 생성하면 DAO PHP 파일이 자동으로 생성됩니다. 이는 가장 권장되는 방법입니다. ::◦ 수동 생성 (선택 사항): 기존 객체 클래스를 복사하여 수동으로 생성할 수도 있습니다. 예시는 htdocs/modulebuilder/templates/class/myobject.class.php에서 찾을 수 있습니다. 이 경우, 클래스 파일 내에서 정확한 모듈 이름과 테이블 이름을 사용하도록 수정하고, 모듈의 class 하위 디렉토리에 저장해야 합니다. :• CRUD 메서드: 생성된 DAO 클래스에는 테이블 행의 삽입 (insert), 조회 (fetch), 업데이트 (update), 삭제 (delete)를 위한 기본적인 CRUD 메서드가 이미 포함되어 있습니다. 돌리바 ERP CRM 모듈 개발의 더 큰 맥락에서 SQL 테이블 및 PHP DAO 클래스의 중요성: :• 데이터 관리의 핵심: 모듈이 자체 데이터를 효율적이고 안전하게 관리하기 위한 핵심적인 구성 요소입니다. SQL 테이블은 데이터를 영구적으로 저장하는 역할을 하며, PHP DAO 클래스는 이 데이터에 접근하고 조작하는 인터페이스를 제공합니다. :• 모듈 기능 확장: 표준 돌리바 기능 외에 새로운 데이터 구조와 기능을 추가할 수 있도록 합니다. 예를 들어, 특정 비즈니스 로직에 필요한 추가 정보를 저장하고 관리하는 데 사용될 수 있습니다. :• 모듈 독립성 및 재사용성: DAO 패턴을 사용하면 데이터 접근 로직이 비즈니스 로직에서 분리되어 코드의 유지보수성과 재사용성을 향상시킵니다. 데이터베이스 구조가 변경되더라도 DAO 클래스만 수정하면 되므로, 전체 코드에 미치는 영향을 최소화할 수 있습니다. :• 모듈 빌더 활용: 돌리바의 모듈 빌더는 SQL 테이블 설계와 기본적인 DAO 클래스 생성을 자동화하여 개발 과정을 더욱 효율적으로 만들어 줍니다. :• 데이터베이스 상호 작용: DAO 클래스를 사용하지 않고 직접 데이터베이스에 접근해야 하는 경우 (예: 복잡한 JOIN 또는 필터링), 제공된 출처의 예시처럼 $db 객체의 query, fetch_object 등의 메서드를 사용하여 SQL 쿼리를 실행하고 결과를 처리할 수 있습니다. 하지만 이러한 직접적인 데이터베이스 접근은 DAO 클래스를 사용하는 방식보다 유지보수성이 낮아질 수 있습니다.
요약:
LS Taiwan에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다(자세한 사항은
LS Taiwan:저작권
문서를 보세요).
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
검색
검색
Dolibarr 모듈 개발
편집하기 (부분)
새 주제