그누보드 게시판 분류(caname) 값 일괄 수정 및 업데이트 방법
페이지 정보

본문
분류 기능이 없던 기존 게시판에 새 분류를 일괄 적용하거나 기존 분류명을 변경하려는 운영자와 개발자를 위해, extend 파일을 통한 SQL 쿼리 실행 방법과 주의사항을 안내합니다.
그누보드 게시판 분류 값 일괄 수정 및 업데이트 방법
분류 기능을 나중에 추가했거나 기존에 등록된 게시물의 분류 값(ca_name)이 비어 있는 경우, 혹은 특정 분류명을 다른 이름으로 일괄 변경하고 싶을 때 데이터베이스 쿼리를 통해 한 번에 처리할 수 있습니다.
1. 수정 쿼리 작성 및 적용 방법
그누보드의 확장 파일 기능을 이용하여 임시로 쿼리를 실행할 수 있습니다.
extend/user.config.php파일에 아래의sql_query코드를 추가합니다.- 적용하려는 게시판 테이블명과 분류명을 목적에 맞게 수정합니다.
[예시 1] 분류 값이 없는(ca_name이 빈 값인) 기존 게시물에 특정 분류 값 일괄 입력하기
sql_query(" update g5_write_free set ca_name = '질문' where ca_name = '' ");
g5_write_free:free로 생성된 게시판 테이블을 의미합니다. 대상 게시판에 맞춰 수정합니다 (예:g5_write_qa).ca_name = '질문': 입력하고 원하는 분류명으로 수정합니다.where ca_name = '': 분류 값이 없는 게시물을 의미합니다.
[예시 2] 이미 입력된 특정 분류명을 다른 분류명으로 일괄 변경하기
sql_query(" update g5_write_free set ca_name = '답변' where ca_name = '질문' ");
- 분류 값이 '질문'인 게시물의 분류명을 '답변'으로 일괄 변경합니다.
2. 실행 및 확인 후 조치
- 코드를 추가한 후 서버에 업로드합니다.
- 그누보드 페이지 아무 곳이나 접속하여 새로고침을 실행하면 쿼리가 실행됩니다.
- 게시판 리스트에서 분류 값이 정상적으로 변경되었는지 확인합니다.
- 분류 값 변경 및 확인이 완료된 후에는 추가했던 코드를 반드시 삭제해야 합니다.
그누보드 게시판 테이블명과 분류 조건 지정 방법
그누보드에서 SQL 업데이트 쿼리를 작성할 때 대상 게시판 테이블명과 분류 조건(ca_name)은 아래와 같이 지정합니다.
1. 테이블명 지정 규칙
- 그누보드의 기본 게시판 테이블 명명 규칙은
g5_write_게시판아이디(bo_table)형식입니다. - 예를 들어 게시판 아이디가
free인 경우 테이블명은g5_write_free가 되며,qa게시판인 경우g5_write_qa로 지정합니다.
2. 분류 조건(ca_name) 지정 예시
- 분류 값이 없는 기존 게시물에 특정 분류 값을 일괄 입력할 때:
where ca_name = ''조건을 사용하여 빈 값인 항목을 지정합니다.sql_query(" update g5_write_free set ca_name = '질문' where ca_name = '' "); - 이미 입력된 특정 분류명을 다른 분류명으로 일괄 변경할 때:
where ca_name = '변경전분류명'조건을 사용하여 특정 분류 값을 가진 게시물을 지정합니다.sql_query(" update g5_write_free set ca_name = '답변' where ca_name = '질문' ");
3. 적용 시 주의사항
- 작업 완료 후 사용한 코드는 반드시 삭제해야 합니다.
게시판 분류 값 일괄 수정 및 업데이트 방법
그누보드에서 분류 기능을 나중에 추가하여 기존 게시물들의 분류 값이 비어 있거나, 특정 분류 값을 다른 값으로 일괄 변경하고 싶을 때는 extend/user.config.php 파일을 활용하여 처리할 수 있습니다.
1. 코드 작성 위치
- 파일 경로:
extend/user.config.php - 설명: 해당 파일이 없다면 생성하여 코드를 추가할 수 있으며, 기본 파일을 직접 수정하지 않고 확장 기능을 적용할 때 사용합니다.
2. 일괄 업데이트 코드 적용 방법
파일에 아래와 같은 sql_query 코드를 추가하고 서버에 업로드합니다. 게시판 테이블명과 분류명은 운영 중인 환경에 맞게 수정해야 합니다.
- 분류 값이 없는 게시물에 특정 분류 값 일괄 입력 예시
sql_query(" update g5_write_free set ca_name = '질문' where ca_name = '' ");g5_write_free: 대상 게시판 테이블명 (free부분에 생성된 게시판 ID 입력)ca_name = '질문': 새로 입력할 원하는 분류명where ca_name = '': 분류 값이 비어 있는 게시물을 지정
- 이미 입력된 분류 값을 다른 값으로 일괄 변경 예시
sql_query(" update g5_write_free set ca_name = '답변' where ca_name = '질문' ");ca_name = '질문'인 게시물의 분류명을답변으로 다시 일괄 변경합니다.
3. 실행 및 확인 방법
- 코드를 추가한
extend/user.config.php파일을 서버에 업로드합니다. - 그누보드 웹페이지 중 아무 곳이나 접속하여 새로고침을 수행합니다. 페이지가 로드될 때 코드가 실행됩니다.
- 게시판 리스트로 이동하여 분류 값이 정상적으로 변경되었는지 확인합니다.
4. 적용 후 필수 조치
- 분류 값 변경이 정상적으로 완료된 것을 확인한 후,
extend/user.config.php에 추가했던 위 일괄 업데이트 코드는 반드시 삭제해야 합니다. 코드를 남겨둘 경우 페이지를 새로고침할 때마다 불필요한 쿼리가 재실행될 수 있습니다.
대량 데이터 처리 시 서버 부하 고려 사항
대량의 게시물이 존재하는 게시판에서 SQL 일괄 업데이트 쿼리를 실행할 때 발생할 수 있는 서버 부하나 성능 저하 문제에 대해, 원문 자료에서는 대량의 데이터 처리 시 발생할 수 있는 서버 부하에 대한 구체적인 언급이나 제한 수치를 제공하지 않습니다.
따라서 수많은 데이터가 등록된 대형 게시판 환경에서 쿼리를 실행하기 전에는 데이터 규모에 따른 서버 성능 영향을 별도로 검토해야 하며, 원문에 명시된 불확실성 항목을 참고하여 신중하게 접근해야 합니다.
상황별 분류 값 일괄 수정 가이드
| 내 상황 | 우선할 판단 | 다음 행동 |
|---|---|---|
분류 기능 도입 전 등록되어 ca_name 값이 비어 있는 게시물 | 대상 게시판 테이블명(g5_write_게시판아이디) 확인 | extend/user.config.php 파일에 sql_query(" update g5_write_free set ca_name = '질문' where ca_name = '' "); 코드를 추가하고 새로고침하여 적용 |
| 이미 입력된 특정 분류명을 다른 분류명으로 일괄 변경하고 싶을 때 | 변경할 대상 분류명과 바꿀 분류명(ca_name) 정의 | extend/user.config.php 파일에 sql_query(" update g5_write_free set ca_name = '답변' where ca_name = '질문' "); 코드를 추가하고 새로고침하여 적용 |
실전 FAQ
Q. 일괄 업데이트 코드를 실행한 후 페이지를 새로고침했는데 왜 코드를 반드시 삭제해야 하나요?
- 예외 및 대안:
extend/user.config.php파일에 코드를 남겨두면 그누보드 페이지에 접속하여 새로고침할 때마다 매번 불필요한 업데이트 쿼리가 반복 실행되어 시스템에 부하를 줄 수 있습니다. 따라서 분류 값이 변경된 것을 확인한 즉시 코드를 삭제해야 합니다.
Q. 대상 게시판이 여러 개일 때 일괄 처리를 한 번에 할 수 있나요?
- 막히는 지점: 제시된 방법은 단일 테이블(
g5_write_free등) 기준이므로, 여러 게시판에 각각 적용하려면 대상 테이블명에 맞춰 쿼리를 개별 작성하거나 각 게시판 테이블별로 실행해야 합니다.
함께 보면 좋은 글
- 그누보드 통합 검색에서 게시판 분류명(caname) 검색 및 출력하기
- SQL UPDATE 문법 및 다중 필드 업데이트 활용법
- 그누보드5 카카오 우편번호 서비스 CDN 경로 업데이트 및 스크립트 오류 해결 방법
참고자료
기타 참고자료
- 이전글그누보드4(G4) 회원가입 시 이메일 필수 입력 해제 및 검증 로직 제거 방법 26.10.08
- 다음글MD5에서 SHA256으로 비밀번호 암호화 마이그레이션 및 하위 호환성 처리 방법 26.10.08
댓글목록
등록된 댓글이 없습니다.