db에서 추가,삽입,변경을 하려고 하는데 주의할 점 문의드립니다.
본문
[배경]
비슷한 스타일의 홈페이지를 여러개 제작할 필요가 있습니다.
이 스타일의 홈페이지에는 똑같은 게시판과 회원이 포함되어야 합니다.
[목적]
각각의 홈페이지 db에 임의적으로 세개의 게시판그룹과 각각 3~6개의 게시판과 1~2명의 회원을 추가하려고 합니다.
[기존 제가 사용하던 방식]
기본이 되는 홈페이지에 게시판그룹과 게시판, 회원을 추가한 뒤에 전체 db를 백업하여
새로 만드는 홈페이지에 그누보드를 설치한 뒤 db를 지우고 백업햇던 db를 올렸습니다.
[새로 하고자 하는 방식]
- insert를 통해 g5_group 테이블에 게시판그룹을 삽입하고
- create를 통해 g5_write_XXX 등의 게시판을 생성하고
- insert를 통해 g5_board 테이블에 게시판을 삽입하고
- insert를 통해 g5_member 테이블에 회원을 추가하려고 합니다.
[질문 1]
이럴 경우 제가 혹시 빼먹은 테이블이나 조심해야할 점이 있을까요?
[질문 2]
위와는 다른 문제입니다.
아래와 같은 코드로 게시판에서 도메인 변경을 통해 새로운 홈페이지에서 이미지의 경로를 바꿔주는 방법이 있더군요.
저는 bo_table 뿐만 아니라 기타 다른 테이블에서도 바꿔야 하는 곳(예, g5_content, g5_faq 등)이 더 있는데 이런 경우에는 어떻게 하면 될까요?
단순하게 아래 코드에서 g5_write_{$data[bo_table]} 부분만 g5_content 등으로 바꾸면 될까요?
<?php
include_once"_common.php";
//구사이트도메인 http://www. 제외
$old="flowerfield.in.gangwon.kr";
//새사이트도메인 http://www. 제외
$new="바꾸고자 하는 도메인";
$sql = sql_query("select * from g5_board");
while($data = sql_fetch_array($sql)){
echo"$data[bo_table]<br>";
sql_query("update g5_write_{$data[bo_table]} set wr_content=REPLACE(`wr_content`,'$old','$new')");
}
?>
질문이 좀 많아졌습니다.
고수님들 너그럽게 이해하시고 좋은 해법 부탁드립니다.
날씨가 점점 추워집니다~ 감기 조심들 하세요~
!-->답변 1
일반호스팅이라면 sql 내보내기를 통해서 전체 db를 백업 , 새롭게 덮어쓸수있고
아래에 추가하신 해당소스는 게시판의 내용에만 해당되는부분이며
추가로 다른 필드들도 수정을 해야합니다.
예를들어
while($data = sql_fetch_array($sql)){
//echo"$data[bo_table]<br>";
sql_query("update g5_write_{$data[bo_table]} set wr_content=REPLACE(`wr_content`,'$old','$new')");
sql_query("update {$g5['board_table']} set bo_content_head=REPLACE(`bo_content_head`,'$old','$new')");
sql_query("update {$g5['board_table']} set bo_mobile_content_head=REPLACE(`bo_mobile_content_head`,'$old','$new')");
}
$sql = sql_query("select * from {$g5['content_table']}");
sql_query("update {$g5['content_table']} set co_content=REPLACE(`co_content`,'$old','$new')");
sql_query("update {$g5['content_table']} set co_mobile_content=REPLACE(`co_mobile_content`,'$old','$new')");
이런필드들도 일괄로 새로운 주소를가르켜야 할것같네요
!-->