g4 에서 g5로 갈아타기 정보
g4 에서 g5로 갈아타기본문
안녕하세요.
말그대로 갈아타기 팁입니다. 해보니 크게 문제없이 돌아가네요.
본 내용은 그누보드4기반의 운영중인 홈페이지인 경우에 해당되는 팁으로, 테스트로 진행후 이상없을 시 이전을 하시길 권장드립니다.
그누보드4에서 dtd 버젼인 경우 크게 문제없이 이전이 됩니다만, 그누보드5경우 $g4[path] 변수가 다르게 대체됨과 여러가지 기능과 그에따른 필드가 생성이 됨으로써, 그리 간단치는 않습니다.
하지만, 다행인것은 그누보드5의 개발은 그누보드4를 기반으로 하는 것은 분명히 보이기에 이전이 가능하겠습니다.
1. 운영중 계정에 새로운 폴더(예: g5)를 생성합니다.
2. g5 전체(adm, bbs ,...., _common.php,....)를 g5로 ftp를 통해 복사를 합니다. (폴더 전체(예:g5-5.0b14)가 아닌 index.php 파일이 포함하는 폴더/파일)
3. g5/data/ 내 아래 내용을 dbconfig.php 파일로 저장하여 올립니다. 단, mysql 정보를 입력해야 합니다.
<?php
if (!defined('_GNUBOARD_')) exit;
define('G5_MYSQL_HOST', 'localhost');
define('G5_MYSQL_USER', '');//mysql id
define('G5_MYSQL_PASSWORD', '');//mysql password
define('G5_MYSQL_DB', '');//mysql dbname
define('G5_TABLE_PREFIX', 'g4_');
$g5['write_prefix'] = G5_TABLE_PREFIX.'write_'; // 게시판 테이블명 접두사
$g5['auth_table'] = G5_TABLE_PREFIX.'auth'; // 관리권한 설정 테이블
$g5['config_table'] = G5_TABLE_PREFIX.'config'; // 기본환경 설정 테이블
$g5['group_table'] = G5_TABLE_PREFIX.'group'; // 게시판 그룹 테이블
$g5['group_member_table'] = G5_TABLE_PREFIX.'group_member'; // 게시판 그룹+회원 테이블
$g5['board_table'] = G5_TABLE_PREFIX.'board'; // 게시판 설정 테이블
$g5['board_file_table'] = G5_TABLE_PREFIX.'board_file'; // 게시판 첨부파일 테이블
$g5['board_good_table'] = G5_TABLE_PREFIX.'board_good'; // 게시물 추천,비추천 테이블
$g5['board_new_table'] = G5_TABLE_PREFIX.'board_new'; // 게시판 새글 테이블
$g5['login_table'] = G5_TABLE_PREFIX.'login'; // 로그인 테이블 (접속자수)
$g5['mail_table'] = G5_TABLE_PREFIX.'mail'; // 회원메일 테이블
$g5['member_table'] = G5_TABLE_PREFIX.'member'; // 회원 테이블
$g5['memo_table'] = G5_TABLE_PREFIX.'memo'; // 메모 테이블
$g5['poll_table'] = G5_TABLE_PREFIX.'poll'; // 투표 테이블
$g5['poll_etc_table'] = G5_TABLE_PREFIX.'poll_etc'; // 투표 기타의견 테이블
$g5['point_table'] = G5_TABLE_PREFIX.'point'; // 포인트 테이블
$g5['popular_table'] = G5_TABLE_PREFIX.'popular'; // 인기검색어 테이블
$g5['scrap_table'] = G5_TABLE_PREFIX.'scrap'; // 게시글 스크랩 테이블
$g5['visit_table'] = G5_TABLE_PREFIX.'visit'; // 방문자 테이블
$g5['visit_sum_table'] = G5_TABLE_PREFIX.'visit_sum'; // 방문자 합계 테이블
$g5['uniqid_table'] = G5_TABLE_PREFIX.'uniqid'; // 유니크한 값을 만드는 테이블
$g5['syndi_log_table'] = G5_TABLE_PREFIX.'syndi_log'; // 네이버 신디케이션 컨텐츠 삭제 로그 테이블
$g5['autosave_table'] = G5_TABLE_PREFIX.'autosave'; // 게시글 작성시 일정시간마다 글을 임시 저장하는 테이블
$g5['cert_history_table'] = G5_TABLE_PREFIX.'cert_history'; // 인증내역 테이블
$g5['qa_content_table'] = G5_TABLE_PREFIX.'qa_content';//1:1 내용
$g5['qa_config_table'] = G5_TABLE_PREFIX.'qa_config';//1:1 환경
?>
4. 아래 내용을 파일(임의의 파일명.php)로 저장하여 g5/extend/내 올립니다. (예 : index.php)
페이지가 한번 로딩되면서 필요한 필드를 생성하기 위함입니다.
sql_query("alter table $g5[group_table] add `gr_show_menu` tinyint(4) NOT NULL default '0' ", false);
sql_query("alter table $g5[group_table] add `gr_device` ENUM('both','pc','mobile') NOT NULL DEFAULT 'both' ", false);
sql_query("alter table $g5[group_table] add `gr_order` int(11) NOT NULL default '0'", false);
sql_query("alter table $g5[board_table] add `bo_mobile_subject` varchar(255) NOT NULL DEFAULT ''", false);
sql_query("alter table $g5[board_table] add `bo_device` enum('both','pc','mobile') NOT NULL DEFAULT 'both'", false);
sql_query("alter table $g5[board_table] add `bo_order` int(11) NOT NULL DEFAULT '0'", false);
sql_query("alter table $g5[board_table] add `bo_show_menu` tinyint(4) NOT NULL DEFAULT '0'", false);
sql_query("alter table $g5[point_table] add `po_use_point` int(11) NOT NULL default '0'", false);
sql_query("alter table $g5[point_table] add `po_mb_point` int(11) NOT NULL default '0'", false);
sql_query("alter table $g5[point_table] add `po_expired` tinyint(4) NOT NULL default '0'", false);
sql_query("alter table $g5[point_table] add `po_expire_date` date NOT NULL default '0000-00-00'", false);
sql_query("alter table $g5[point_table] add KEY `index2` (`po_expire_date`)", false);
sql_query("
CREATE TABLE IF NOT EXISTS $g5[qa_config_table] (
`qa_title` varchar(255) NOT NULL DEFAULT'',
`qa_category` varchar(255) NOT NULL DEFAULT'',
`qa_skin` varchar(255) NOT NULL DEFAULT '',
`qa_mobile_skin` varchar(255) NOT NULL DEFAULT '',
`qa_use_email` tinyint(4) NOT NULL DEFAULT '0',
`qa_req_email` tinyint(4) NOT NULL DEFAULT '0',
`qa_use_hp` tinyint(4) NOT NULL DEFAULT '0',
`qa_req_hp` tinyint(4) NOT NULL DEFAULT '0',
`qa_use_sms` tinyint(4) NOT NULL DEFAULT '0',
`qa_send_number` varchar(255) NOT NULL DEFAULT '0',
`qa_admin_hp` varchar(255) NOT NULL DEFAULT '',
`qa_use_editor` tinyint(4) NOT NULL DEFAULT '0',
`qa_subject_len` int(11) NOT NULL DEFAULT '0',
`qa_mobile_subject_len` int(11) NOT NULL DEFAULT '0',
`qa_page_rows` int(11) NOT NULL DEFAULT '0',
`qa_mobile_page_rows` int(11) NOT NULL DEFAULT '0',
`qa_image_width` int(11) NOT NULL DEFAULT '0',
`qa_upload_size` int(11) NOT NULL DEFAULT '0',
`qa_insert_content` text NOT NULL,
`qa_1_subj` varchar(255) NOT NULL DEFAULT '',
`qa_2_subj` varchar(255) NOT NULL DEFAULT '',
`qa_3_subj` varchar(255) NOT NULL DEFAULT '',
`qa_4_subj` varchar(255) NOT NULL DEFAULT '',
`qa_5_subj` varchar(255) NOT NULL DEFAULT '',
`qa_1` varchar(255) NOT NULL DEFAULT '',
`qa_2` varchar(255) NOT NULL DEFAULT '',
`qa_3` varchar(255) NOT NULL DEFAULT '',
`qa_4` varchar(255) NOT NULL DEFAULT '',
`qa_5` varchar(255) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
", false);
sql_query("
CREATE TABLE IF NOT EXISTS $g5[qa_content_table] (
`qa_id` int(11) NOT NULL AUTO_INCREMENT,
`qa_num` int(11) NOT NULL DEFAULT '0',
`qa_parent` int(11) NOT NULL DEFAULT '0',
`qa_related` int(11) NOT NULL DEFAULT '0',
`mb_id` varchar(20) NOT NULL DEFAULT '',
`qa_name` varchar(255) NOT NULL DEFAULT '',
`qa_email` varchar(255) NOT NULL DEFAULT '',
`qa_hp` varchar(255) NOT NULL DEFAULT '',
`qa_type` tinyint(4) NOT NULL DEFAULT '0',
`qa_category` varchar(255) NOT NULL DEFAULT '',
`qa_email_recv` tinyint(4) NOT NULL DEFAULT '0',
`qa_sms_recv` tinyint(4) NOT NULL DEFAULT '0',
`qa_html` tinyint(4) NOT NULL DEFAULT '0',
`qa_subject` varchar(255) NOT NULL DEFAULT '',
`qa_content` text NOT NULL,
`qa_status` tinyint(4) NOT NULL DEFAULT '0',
`qa_file1` varchar(255) NOT NULL DEFAULT '',
`qa_source1` varchar(255) NOT NULL DEFAULT '',
`qa_file2` varchar(255) NOT NULL DEFAULT '',
`qa_source2` varchar(255) NOT NULL DEFAULT '',
`qa_ip` varchar(255) NOT NULL DEFAULT '',
`qa_datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`qa_1` varchar(255) NOT NULL DEFAULT '',
`qa_2` varchar(255) NOT NULL DEFAULT '',
`qa_3` varchar(255) NOT NULL DEFAULT '',
`qa_4` varchar(255) NOT NULL DEFAULT '',
`qa_5` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`qa_id`),
KEY `qa_num_parent` (`qa_num`,`qa_parent`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
", false);
sql_query("
CREATE TABLE IF NOT EXISTS ".$g5['uniqid_table']." (
`uq_id` bigint(20) unsigned NOT NULL,
`uq_ip` varchar(255) NOT NULL,
PRIMARY KEY (`uq_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
", false);
sql_query("
CREATE TABLE IF NOT EXISTS ".$g5['syndi_log_table']." (
`content_id` int(11) NOT NULL,
`bbs_id` varchar(50) NOT NULL,
`title` text NOT NULL,
`link_alternative` varchar(250) NOT NULL,
`delete_date` varchar(14) NOT NULL,
PRIMARY KEY (`content_id`,`bbs_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
", false);
sql_query("
CREATE TABLE IF NOT EXISTS ".$g5['autosave_table']." (
`as_id` int(11) NOT NULL AUTO_INCREMENT,
`mb_id` varchar(20) NOT NULL,
`as_uid` bigint(20) unsigned NOT NULL,
`as_subject` varchar(255) NOT NULL,
`as_content` text NOT NULL,
`as_datetime` datetime NOT NULL,
PRIMARY KEY (`as_id`),
UNIQUE KEY `as_uid` (`as_uid`),
KEY `mb_id` (`mb_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
", false);
5. 도메인/g5/ 로 접속합니다.
이렇게 함으로써 기본적으로 이전은 일단, 완료가 됩니다만, 외 필요한 테이빌 및 필드가 충분이 있을 수 있습니다.
그런 경우 테이블이나 필드가 없다는 오류를 띄우게 되며, 당황할 필요없이 이때는 간단히 해당 필드를 위 index.php 파일에 계속 추가하며 생성해 주면 거의 완벽한 이전이 가능할 것입니다. 만약, index.php 파일에 넣어도 안될 경우 common.php 파일 중상쯤에 넣어서 아무페이지나 로딩시켜주면 됩니다.
부가적으로, 기존의 $g4[path]변수가 포함된 페이지를 사용할 경우 아래와 같이 일반적으로 G5_URL상수값을 $g4[path]로 대체하면 가능하겠지만 그누보드5에는 G5_PATH , G5_URL로 분리사용되므로 가급적 수정을 하는 것을 권장드립니다.
config.php 하단부에 추가합니다.
$g4[path]=G5_URL;//$g4[path]가 html내 사용된 경우 적용이 가능하며, include 등이 사용될 경우 에러가 발생합니다.
결론은, 그누보드4는 table prefix 기본 g4_ 입니다. 그누보드5는 g5_ 이지만, g5의 table prefix를 g4로 바꾸고, 기존에 없던 테이블, 필드만 생성하면 이전이 간단히 해결되겠습니다.
도움되시길 바랍니다.
아울러, 그누보드5, 영카트5의 건승을 기원합니다.
아! 질문은 받지 않습니다^^
말그대로 갈아타기 팁입니다. 해보니 크게 문제없이 돌아가네요.
본 내용은 그누보드4기반의 운영중인 홈페이지인 경우에 해당되는 팁으로, 테스트로 진행후 이상없을 시 이전을 하시길 권장드립니다.
그누보드4에서 dtd 버젼인 경우 크게 문제없이 이전이 됩니다만, 그누보드5경우 $g4[path] 변수가 다르게 대체됨과 여러가지 기능과 그에따른 필드가 생성이 됨으로써, 그리 간단치는 않습니다.
하지만, 다행인것은 그누보드5의 개발은 그누보드4를 기반으로 하는 것은 분명히 보이기에 이전이 가능하겠습니다.
1. 운영중 계정에 새로운 폴더(예: g5)를 생성합니다.
2. g5 전체(adm, bbs ,...., _common.php,....)를 g5로 ftp를 통해 복사를 합니다. (폴더 전체(예:g5-5.0b14)가 아닌 index.php 파일이 포함하는 폴더/파일)
3. g5/data/ 내 아래 내용을 dbconfig.php 파일로 저장하여 올립니다. 단, mysql 정보를 입력해야 합니다.
<?php
if (!defined('_GNUBOARD_')) exit;
define('G5_MYSQL_HOST', 'localhost');
define('G5_MYSQL_USER', '');//mysql id
define('G5_MYSQL_PASSWORD', '');//mysql password
define('G5_MYSQL_DB', '');//mysql dbname
define('G5_TABLE_PREFIX', 'g4_');
$g5['write_prefix'] = G5_TABLE_PREFIX.'write_'; // 게시판 테이블명 접두사
$g5['auth_table'] = G5_TABLE_PREFIX.'auth'; // 관리권한 설정 테이블
$g5['config_table'] = G5_TABLE_PREFIX.'config'; // 기본환경 설정 테이블
$g5['group_table'] = G5_TABLE_PREFIX.'group'; // 게시판 그룹 테이블
$g5['group_member_table'] = G5_TABLE_PREFIX.'group_member'; // 게시판 그룹+회원 테이블
$g5['board_table'] = G5_TABLE_PREFIX.'board'; // 게시판 설정 테이블
$g5['board_file_table'] = G5_TABLE_PREFIX.'board_file'; // 게시판 첨부파일 테이블
$g5['board_good_table'] = G5_TABLE_PREFIX.'board_good'; // 게시물 추천,비추천 테이블
$g5['board_new_table'] = G5_TABLE_PREFIX.'board_new'; // 게시판 새글 테이블
$g5['login_table'] = G5_TABLE_PREFIX.'login'; // 로그인 테이블 (접속자수)
$g5['mail_table'] = G5_TABLE_PREFIX.'mail'; // 회원메일 테이블
$g5['member_table'] = G5_TABLE_PREFIX.'member'; // 회원 테이블
$g5['memo_table'] = G5_TABLE_PREFIX.'memo'; // 메모 테이블
$g5['poll_table'] = G5_TABLE_PREFIX.'poll'; // 투표 테이블
$g5['poll_etc_table'] = G5_TABLE_PREFIX.'poll_etc'; // 투표 기타의견 테이블
$g5['point_table'] = G5_TABLE_PREFIX.'point'; // 포인트 테이블
$g5['popular_table'] = G5_TABLE_PREFIX.'popular'; // 인기검색어 테이블
$g5['scrap_table'] = G5_TABLE_PREFIX.'scrap'; // 게시글 스크랩 테이블
$g5['visit_table'] = G5_TABLE_PREFIX.'visit'; // 방문자 테이블
$g5['visit_sum_table'] = G5_TABLE_PREFIX.'visit_sum'; // 방문자 합계 테이블
$g5['uniqid_table'] = G5_TABLE_PREFIX.'uniqid'; // 유니크한 값을 만드는 테이블
$g5['syndi_log_table'] = G5_TABLE_PREFIX.'syndi_log'; // 네이버 신디케이션 컨텐츠 삭제 로그 테이블
$g5['autosave_table'] = G5_TABLE_PREFIX.'autosave'; // 게시글 작성시 일정시간마다 글을 임시 저장하는 테이블
$g5['cert_history_table'] = G5_TABLE_PREFIX.'cert_history'; // 인증내역 테이블
$g5['qa_content_table'] = G5_TABLE_PREFIX.'qa_content';//1:1 내용
$g5['qa_config_table'] = G5_TABLE_PREFIX.'qa_config';//1:1 환경
?>
4. 아래 내용을 파일(임의의 파일명.php)로 저장하여 g5/extend/내 올립니다. (예 : index.php)
페이지가 한번 로딩되면서 필요한 필드를 생성하기 위함입니다.
sql_query("alter table $g5[group_table] add `gr_show_menu` tinyint(4) NOT NULL default '0' ", false);
sql_query("alter table $g5[group_table] add `gr_device` ENUM('both','pc','mobile') NOT NULL DEFAULT 'both' ", false);
sql_query("alter table $g5[group_table] add `gr_order` int(11) NOT NULL default '0'", false);
sql_query("alter table $g5[board_table] add `bo_mobile_subject` varchar(255) NOT NULL DEFAULT ''", false);
sql_query("alter table $g5[board_table] add `bo_device` enum('both','pc','mobile') NOT NULL DEFAULT 'both'", false);
sql_query("alter table $g5[board_table] add `bo_order` int(11) NOT NULL DEFAULT '0'", false);
sql_query("alter table $g5[board_table] add `bo_show_menu` tinyint(4) NOT NULL DEFAULT '0'", false);
sql_query("alter table $g5[point_table] add `po_use_point` int(11) NOT NULL default '0'", false);
sql_query("alter table $g5[point_table] add `po_mb_point` int(11) NOT NULL default '0'", false);
sql_query("alter table $g5[point_table] add `po_expired` tinyint(4) NOT NULL default '0'", false);
sql_query("alter table $g5[point_table] add `po_expire_date` date NOT NULL default '0000-00-00'", false);
sql_query("alter table $g5[point_table] add KEY `index2` (`po_expire_date`)", false);
sql_query("
CREATE TABLE IF NOT EXISTS $g5[qa_config_table] (
`qa_title` varchar(255) NOT NULL DEFAULT'',
`qa_category` varchar(255) NOT NULL DEFAULT'',
`qa_skin` varchar(255) NOT NULL DEFAULT '',
`qa_mobile_skin` varchar(255) NOT NULL DEFAULT '',
`qa_use_email` tinyint(4) NOT NULL DEFAULT '0',
`qa_req_email` tinyint(4) NOT NULL DEFAULT '0',
`qa_use_hp` tinyint(4) NOT NULL DEFAULT '0',
`qa_req_hp` tinyint(4) NOT NULL DEFAULT '0',
`qa_use_sms` tinyint(4) NOT NULL DEFAULT '0',
`qa_send_number` varchar(255) NOT NULL DEFAULT '0',
`qa_admin_hp` varchar(255) NOT NULL DEFAULT '',
`qa_use_editor` tinyint(4) NOT NULL DEFAULT '0',
`qa_subject_len` int(11) NOT NULL DEFAULT '0',
`qa_mobile_subject_len` int(11) NOT NULL DEFAULT '0',
`qa_page_rows` int(11) NOT NULL DEFAULT '0',
`qa_mobile_page_rows` int(11) NOT NULL DEFAULT '0',
`qa_image_width` int(11) NOT NULL DEFAULT '0',
`qa_upload_size` int(11) NOT NULL DEFAULT '0',
`qa_insert_content` text NOT NULL,
`qa_1_subj` varchar(255) NOT NULL DEFAULT '',
`qa_2_subj` varchar(255) NOT NULL DEFAULT '',
`qa_3_subj` varchar(255) NOT NULL DEFAULT '',
`qa_4_subj` varchar(255) NOT NULL DEFAULT '',
`qa_5_subj` varchar(255) NOT NULL DEFAULT '',
`qa_1` varchar(255) NOT NULL DEFAULT '',
`qa_2` varchar(255) NOT NULL DEFAULT '',
`qa_3` varchar(255) NOT NULL DEFAULT '',
`qa_4` varchar(255) NOT NULL DEFAULT '',
`qa_5` varchar(255) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
", false);
sql_query("
CREATE TABLE IF NOT EXISTS $g5[qa_content_table] (
`qa_id` int(11) NOT NULL AUTO_INCREMENT,
`qa_num` int(11) NOT NULL DEFAULT '0',
`qa_parent` int(11) NOT NULL DEFAULT '0',
`qa_related` int(11) NOT NULL DEFAULT '0',
`mb_id` varchar(20) NOT NULL DEFAULT '',
`qa_name` varchar(255) NOT NULL DEFAULT '',
`qa_email` varchar(255) NOT NULL DEFAULT '',
`qa_hp` varchar(255) NOT NULL DEFAULT '',
`qa_type` tinyint(4) NOT NULL DEFAULT '0',
`qa_category` varchar(255) NOT NULL DEFAULT '',
`qa_email_recv` tinyint(4) NOT NULL DEFAULT '0',
`qa_sms_recv` tinyint(4) NOT NULL DEFAULT '0',
`qa_html` tinyint(4) NOT NULL DEFAULT '0',
`qa_subject` varchar(255) NOT NULL DEFAULT '',
`qa_content` text NOT NULL,
`qa_status` tinyint(4) NOT NULL DEFAULT '0',
`qa_file1` varchar(255) NOT NULL DEFAULT '',
`qa_source1` varchar(255) NOT NULL DEFAULT '',
`qa_file2` varchar(255) NOT NULL DEFAULT '',
`qa_source2` varchar(255) NOT NULL DEFAULT '',
`qa_ip` varchar(255) NOT NULL DEFAULT '',
`qa_datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`qa_1` varchar(255) NOT NULL DEFAULT '',
`qa_2` varchar(255) NOT NULL DEFAULT '',
`qa_3` varchar(255) NOT NULL DEFAULT '',
`qa_4` varchar(255) NOT NULL DEFAULT '',
`qa_5` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`qa_id`),
KEY `qa_num_parent` (`qa_num`,`qa_parent`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
", false);
sql_query("
CREATE TABLE IF NOT EXISTS ".$g5['uniqid_table']." (
`uq_id` bigint(20) unsigned NOT NULL,
`uq_ip` varchar(255) NOT NULL,
PRIMARY KEY (`uq_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
", false);
sql_query("
CREATE TABLE IF NOT EXISTS ".$g5['syndi_log_table']." (
`content_id` int(11) NOT NULL,
`bbs_id` varchar(50) NOT NULL,
`title` text NOT NULL,
`link_alternative` varchar(250) NOT NULL,
`delete_date` varchar(14) NOT NULL,
PRIMARY KEY (`content_id`,`bbs_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
", false);
sql_query("
CREATE TABLE IF NOT EXISTS ".$g5['autosave_table']." (
`as_id` int(11) NOT NULL AUTO_INCREMENT,
`mb_id` varchar(20) NOT NULL,
`as_uid` bigint(20) unsigned NOT NULL,
`as_subject` varchar(255) NOT NULL,
`as_content` text NOT NULL,
`as_datetime` datetime NOT NULL,
PRIMARY KEY (`as_id`),
UNIQUE KEY `as_uid` (`as_uid`),
KEY `mb_id` (`mb_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
", false);
5. 도메인/g5/ 로 접속합니다.
이렇게 함으로써 기본적으로 이전은 일단, 완료가 됩니다만, 외 필요한 테이빌 및 필드가 충분이 있을 수 있습니다.
그런 경우 테이블이나 필드가 없다는 오류를 띄우게 되며, 당황할 필요없이 이때는 간단히 해당 필드를 위 index.php 파일에 계속 추가하며 생성해 주면 거의 완벽한 이전이 가능할 것입니다. 만약, index.php 파일에 넣어도 안될 경우 common.php 파일 중상쯤에 넣어서 아무페이지나 로딩시켜주면 됩니다.
부가적으로, 기존의 $g4[path]변수가 포함된 페이지를 사용할 경우 아래와 같이 일반적으로 G5_URL상수값을 $g4[path]로 대체하면 가능하겠지만 그누보드5에는 G5_PATH , G5_URL로 분리사용되므로 가급적 수정을 하는 것을 권장드립니다.
config.php 하단부에 추가합니다.
$g4[path]=G5_URL;//$g4[path]가 html내 사용된 경우 적용이 가능하며, include 등이 사용될 경우 에러가 발생합니다.
결론은, 그누보드4는 table prefix 기본 g4_ 입니다. 그누보드5는 g5_ 이지만, g5의 table prefix를 g4로 바꾸고, 기존에 없던 테이블, 필드만 생성하면 이전이 간단히 해결되겠습니다.
도움되시길 바랍니다.
아울러, 그누보드5, 영카트5의 건승을 기원합니다.
아! 질문은 받지 않습니다^^
추천
4
4
댓글 5개
그누보드4를 그누보드5로 이전하기,
좋은 팁 감사합니다.
큰 도움이 되겠습니다.
좋은 팁 감사합니다.
큰 도움이 되겠습니다.
g4 를 g5로 이전하기 #5 ( 추가하기 )
4. 아래 내용을 파일(임의의 파일명.php)로 저장하여 g5/extend/내 올립니다. (예 : index.php)
페이지가 한번 로딩되면서 필요한 필드를 생성하기 위함입니다.
..... 최신버전의 경우에은 위에 언급된 것 이외에 필드가 여러개 더 추가되었습니다.
아래 내용으로 저장하면 누락된 필드를 추가할수 있습니다.
추가 수정된 코드는 http://www.happyjung.com/bbs/board.php?bo_table=lecture&wr_id=1639 에서 확인할수 있습니다.
코멘트 글자수 제한으로 인하여 내용을 다 적을수가 없군요....
<?php
if (!defined('_GNUBOARD_')) exit;
sql_query("alter table $g5[board_table] add `bo_mobile_subject` varchar(255) NOT NULL DEFAULT ''", false);
sql_query("alter table $g5[board_table] add `bo_device` enum('both','pc','mobile') NOT NULL DEFAULT 'both'", false);
sql_query("alter table $g5[board_table] add `bo_use_list_file` tinyint(4) NOT NULL default '0' ", false);
sql_query("alter table $g5[board_table] add `bo_mobile_subject_len` int(11) NOT NULL default '0' ", false);
sql_query("alter table $g5[board_table] add `bo_mobile_page_rows` int(11) NOT NULL default '0' ", false);
sql_query("alter table $g5[board_table] add `bo_mobile_skin` varchar(255) NOT NULL default '' ", false);
sql_query("alter table $g5[board_table] add `bo_mobile_content_head` text NOT NULL ", false);
sql_query("alter table $g5[board_table] add `bo_mobile_content_tail` text NOT NULL ", false);
sql_query("alter table $g5[board_table] add `bo_gallery_width` int(11) NOT NULL default '0' ", false);
sql_query("alter table $g5[board_table] add `bo_gallery_height` int(11) NOT NULL default '0' ", false);
sql_query("alter table $g5[board_table] add `bo_mobile_gallery_width` int(11) NOT NULL default '0' ", false);
sql_query("alter table $g5[board_table] add `bo_mobile_gallery_height` int(11) NOT NULL default '0' ", false);
sql_query("alter table $g5[board_table] add `bo_show_menu` tinyint(4) NOT NULL DEFAULT '0'", false);
sql_query("alter table $g5[board_table] add `bo_order` int(11) NOT NULL DEFAULT '0'", false);
sql_query("alter table $g5[board_table] add `bo_use_cert` enum('','cert','adult','hp-cert','hp-adult') NOT NULL DEFAULT ''", false);
sql_query("alter table $g5[board_table] add `bo_use_sns` tinyint(4) NOT NULL default '0' ", false);
...
4. 아래 내용을 파일(임의의 파일명.php)로 저장하여 g5/extend/내 올립니다. (예 : index.php)
페이지가 한번 로딩되면서 필요한 필드를 생성하기 위함입니다.
..... 최신버전의 경우에은 위에 언급된 것 이외에 필드가 여러개 더 추가되었습니다.
아래 내용으로 저장하면 누락된 필드를 추가할수 있습니다.
추가 수정된 코드는 http://www.happyjung.com/bbs/board.php?bo_table=lecture&wr_id=1639 에서 확인할수 있습니다.
코멘트 글자수 제한으로 인하여 내용을 다 적을수가 없군요....
<?php
if (!defined('_GNUBOARD_')) exit;
sql_query("alter table $g5[board_table] add `bo_mobile_subject` varchar(255) NOT NULL DEFAULT ''", false);
sql_query("alter table $g5[board_table] add `bo_device` enum('both','pc','mobile') NOT NULL DEFAULT 'both'", false);
sql_query("alter table $g5[board_table] add `bo_use_list_file` tinyint(4) NOT NULL default '0' ", false);
sql_query("alter table $g5[board_table] add `bo_mobile_subject_len` int(11) NOT NULL default '0' ", false);
sql_query("alter table $g5[board_table] add `bo_mobile_page_rows` int(11) NOT NULL default '0' ", false);
sql_query("alter table $g5[board_table] add `bo_mobile_skin` varchar(255) NOT NULL default '' ", false);
sql_query("alter table $g5[board_table] add `bo_mobile_content_head` text NOT NULL ", false);
sql_query("alter table $g5[board_table] add `bo_mobile_content_tail` text NOT NULL ", false);
sql_query("alter table $g5[board_table] add `bo_gallery_width` int(11) NOT NULL default '0' ", false);
sql_query("alter table $g5[board_table] add `bo_gallery_height` int(11) NOT NULL default '0' ", false);
sql_query("alter table $g5[board_table] add `bo_mobile_gallery_width` int(11) NOT NULL default '0' ", false);
sql_query("alter table $g5[board_table] add `bo_mobile_gallery_height` int(11) NOT NULL default '0' ", false);
sql_query("alter table $g5[board_table] add `bo_show_menu` tinyint(4) NOT NULL DEFAULT '0'", false);
sql_query("alter table $g5[board_table] add `bo_order` int(11) NOT NULL DEFAULT '0'", false);
sql_query("alter table $g5[board_table] add `bo_use_cert` enum('','cert','adult','hp-cert','hp-adult') NOT NULL DEFAULT ''", false);
sql_query("alter table $g5[board_table] add `bo_use_sns` tinyint(4) NOT NULL default '0' ", false);
...
좋은팁 감사합니다.
g4->g5
g4에서 g5