g4 그누보드 특정 게시판 g5로 db,데이터 이전시키기

키워드 : 그누보드db이전,그누보드특정게시판 db이전,wr_file,g4 g5이전,g4 특정게시판만 g5이전하기

말자 전체게시물 작성일16-04-28 07:42 조회13,272회

본문

작업전 백업은 필수입니다.


그누보드 특정 게시판 db이전시 같이 백업해줘야 하는 놈들

 

db이전 하면서 직면한 오류


ERROR 1136 (21S01): Column count doesn't match value count at row 1

(g5 게시판 테이블 컬럼수와 백업받은 g4 데이터 입력 수가 틀려서 나는 오류

g4의 경우 게시판 테이블 컬럼이 37개인데, g5는 41개임

g4를 백업해서 g5로 이전하는데 컬럼수가 틀리니 당연히 오류가...)

 

ERROR 1054 (42S22): Unknown column 'wr_singo' in 'field list'

기존 g4에 별도로 추가한 필드가 있었는데

g5에는 저런 필드가 없어서 나는 오류

 

해결방법: 백업받은 g4_write_게시판명.sql에서 해당 필드명 삭제로 처리~

 

 

그누보드 g4 db 백업


1.

mysqladmin접속해서 g4_board_file 를 클릭한 후,

다시 검색을 클릭해서 bo_table 값에 g5로 이전하고자 하는 특정 게시판 명을 입력해주세요.

말자는 humor 게시판을 g5로 옮길거기 때문에 게시판명을 humor로 적었습니다.

 

 

6c728a1c207727a35c352acaa01b76ad_1461795

 

 

위와 같이 하면 humor 게시판에 업로드된 파일 쿼리문이 쭈욱 뜰거에요

거기서 맨 하단부에 (목록 바로 밑에 내보내기가 아니라 맨 밑) 내보내기 클릭



6c728a1c207727a35c352acaa01b76ad_1461795 

 

sql파일을 바탕화면에 저장!!

 

2.

특정 게시판 백업 (말자는 humor)

g4_write_humor 테이블을 클릭해서 테이블에 접속되면

내보내기 클릭


6c728a1c207727a35c352acaa01b76ad_1461796 

 

 

바탕화면에 저장


3.

ftp에 접속해서 data폴더 - file폴더 - humor 폴더를 통채로 백업해줍니다.

humor가 아닌 본인이  옮기고자 하는 게시판을 백업하면 됩니다.

게시판에 업로드된 이미지가 있기 때문에 중요함.

 

자. 이렇게 백업 받은 파일이 3개네요

 

g4_board_file,

g4_write_humor,

file폴더에서 특정 게시판 이름의 폴더 백업

 

 

실시간으로 포스팅 쓰면서 디비 이전도 같이 병행 하다가

말자아이콘 디비 board_file 테이블 비워버린... -_-;; 워... 다행히 백업해둬서 망정이지

미쳐버리는 줄 ㅠㅠ 백업은 습관화하세요

 

 

그누보드 g5 이전하기

 

이전 하고자 하는 g4게시판 이름이 humor라면

옮기고자 하는 g5게시판 이름도 말자는 humor라고 만들어 게시판을 생성 시킨 후,

게시판 이름을 통일 시켜서 아래 작업을 이어갔습니다.

 

일단 다 다운로드 받으셨으면,

g4_write_humor.sql 를 에디터 플러스나 기타 웹에디터로 열어줍니다.

 

파일을 열어보면 아래와 같이

INSERT INTO `g4_write_humor` 부분이 보이는데

g4_ 복사하고 ctrl + h 키를 눌러줍니다.


바꿀 말에 g5_ 를 입력하고, 모두 바꿈 클릭후 저장


6c728a1c207727a35c352acaa01b76ad_1461799


그리고 g5가 설치된 db에 해당게시판 db로 접속하고

(왠만하면 이전하고자 하는 게시판과 이전할 게시판명을 통일시켜주세요)


그리고 메뉴에서 가져오기를 클릭합니다.


5ca66707615381a56b388c068e78469f_1461836


위에서 g4로 변경한 게시판 sql를 찾아서

실행버튼을 클릭해줍니다.


말자는 ​Multiple primary key defined 이 오류가 났지만 컬럼에 값들은 다 들어갔네요


5ca66707615381a56b388c068e78469f_1461836

 

5ca66707615381a56b388c068e78469f_1461836 

 

 

​위와 같이 하고, g5 이전할 게시판으로 접속해 보면

게시판에 게시물이 없었는데 위의 작업을 하고

게시판에 내용이 채워졌네요

하지만 첨부이미지가 없어요 ㅠㅠ

텍스트만 보인다는...​


5ca66707615381a56b388c068e78469f_1461836
 

 

 

다시 다운로드 받아 둔, g4_board_file.sql 파일을 웹에디터로 열고

ctrl + h 키를 눌러 g4_로 된 걸 g5_로 일괄 변경해줍니다.

 

그리고 저장시켜줍니다.

 

5ca66707615381a56b388c068e78469f_1461836
 


그누보드 g5가 설치된 db로 접속해서

가져오기 - 위에서 변경한 g4_board_file.sql를 찾아서 실행을 눌러줍니다.


이번에도 말자는 Multiple primary key defined 이 오류가 뜨는데

머 대충 넘길라구요 -_-;;;;


 

5ca66707615381a56b388c068e78469f_1461837

 

값이 제대로 들어갔는지 확인하기 위해서

g5_board_file 테이블을 선택하고 검색 bo_table

 

5ca66707615381a56b388c068e78469f_1461837

 

말자는 잘 옮겨 졌네요


5ca66707615381a56b388c068e78469f_1461837 

 

 


이렇게 해도 > ,. < 이미지는 나오지 않습니다.


g4에서 백업 받아 둔 data/file/humor 폴더를

g5 이전할 곳의 data/file/humor 폴더로 옮겨줍니다.


마지막 단계

그누보드g5는 wr_file 필드가 추가되어서 업로드된 파일 수가 들어가는 ㅠㅠ흑흑

g4는 wr_file 컬럼이 없으니 훔...


첨부 파일 갯수를 알아내고 업데이트 해주는 코드를 그누보드 유저가 올려주셨네요 ㄳㄳ

http://sir.kr/qa/?wr_id=793#c_801

 

말자는 아래의 코드를 복사해서

wr_file.php 만들어서 ftp에 올려 해당 경로로 접속해서 실행해줬답니다(해당 페이지로 접속만 해주면 자동으로 됨)

 

바로 적용이 되네요

 

 <?
include_once('./_common.php');
if(!$is_admin) {
exit;
}
$bo_table = "";
$sql = " select bo_table from $g5[board_table]";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
 echo "게시판 : " . $row[bo_table] . "<br>";
 $result_file = sql_query("select distinct(wr_id) from $g5[board_file_table] where bo_table='$row[bo_table]'");
 for($j=0;$res=sql_fetch_array($result_file);$j++) {
 $file_cnt = sql_fetch("select count(*) as cnt from $g5[board_file_table] where bo_table='$row[bo_table]' and wr_id='$res[wr_id]'");
 echo $res[wr_id] . " 파일수 :" . $file_cnt[cnt] . "<br>";
 $bo_table = $g5['write_prefix'] . $row[bo_table];
 $update_result = sql_query("update $bo_table set wr_file='$file_cnt[cnt]' where wr_id='$res[wr_id]'");
 if(!$update_result) {
 echo "파일수를 업데이트 하지 못했습니다.";
 } else {
 echo $res[wr_id] . " : wr_file 필드에 파일수를 업데이트 하였습니다.";
 }
 }
}
?>

 


이렇게 뜨네요


5ca66707615381a56b388c068e78469f_1461840 

 

그리고 humor게시판에 가보니 이미지들이 정상적으로 ㅠㅠ보이네요 하악

보면 짧지만 이 포스팅 올리고 마무리 짖는데 2틀 걸린...흑흑

 

휴~ 이제야 제대로 기억하겠군 캬캭

비회원도 추천 가능합니다.
유익한 정보였다면, 추천해주세요

추천 5 비추천 0

그누보드 팁

96개의 게시물
목록
읽기: 1P (1lv), 쓰기: 100P (3lv), 덧글: 10P (2lv), 다운: -10P (2lv)
그누보드 팁 목록
번호 제목 아이디 날짜 조회수 추천
96 그누보드 무한 카테고리 계층형 카테고리, 여러 값에서 원하는 1개의 값만 출력하기 무료아이콘 전체게시물 11-18 105 추천: 1
95 [외부링크]회원 필드를 여분 필드로 사용하고 게시판에 출력할 때 관련링크 무료아이콘 전체게시물 11-18 155 추천: 1
94 그누보드 g5 설치 후 경로가 이상해서 이미지가 다 깨질 때 인기글 말자 전체게시물 06-17 9131 추천: 3
93 그누보드 무한 카테고리 계층형 카테고리 댓글1 무료아이콘 전체게시물 09-16 64 추천: 1
92 그누보드5 회원가입 여분필드 중복 체크 검사하기 무료아이콘 전체게시물 09-14 38 추천: 1
91 그누보드5 휴대폰 중복 체크가 안 되요 무료아이콘 전체게시물 09-13 56 추천: 1
90 그누보드5 에디터 지정된 넓이 조절 무료아이콘 전체게시물 09-08 40 추천: 1
89 그누보드5 여분필드 다중 체크 박스 함수로 만들기 댓글1 무료아이콘 전체게시물 09-07 493 추천: 1
88 초보를 위한 SELECT (셀렉트박스) 함수로 만들어 쉽게 사용하기 관련링크 무료아이콘 전체게시물 09-07 57 추천: 1
87 글쓰기 시 올바른 방법으로 이용해 주십시오 무료아이콘 전체게시물 09-06 83 추천: 1
86 그누보드5 로그인 스킨 skin/member/basic/login.skin.php 첨부파일 무료아이콘 전체게시물 08-28 830 추천: 2
85 그누보드5 여분필드 추가하기 관련링크 무료아이콘 전체게시물 08-23 139 추천: 1
84 그부보드5 select 다중 여분필드 연동식 사용하기 첨부파일 무료아이콘 전체게시물 08-23 202 추천: 1
83 그누보드5 여분 필드 제목, 값 사용하기 and 관리자에서 여분필드를 input가 아닌 t… 무료아이콘 전체게시물 08-22 146 추천: 1
82 그누보드5 - 게시판 보기에서 여분필드 값 특정 레벨만 보여지게 하기 무료아이콘 전체게시물 07-29 50 추천: 1
게시물 검색