이전 개발자는 문자 그대로 수천 개의 뉴스 & 이벤트 항목을 포함하는 웹 사이트를 구축했습니다. 문제는 자신의 CMS로 작업 할 수있는 데이터베이스를 만들었다는 것입니다. 우리는 현재 Wordpress를 사용하고 있으므로이 데이터를 WP 데이터베이스로 마이그레이션하려고합니다.한 데이터베이스에서 다른 데이터베이스로 데이터 이동
데이터가 약간 다르므로 데이터를 가져 오기 전에 일부 조작이 필요합니다. 누구든지 쉽게 할 수있는 방법을 제안합니까?
원본 데이터베이스의 이전 데이터가 새 Wordpress 데이터베이스의 형식이어야합니다. 문자 그대로 수백 개의 항목이 있으므로 복사 및 붙여 넣기 작업이 아니라는 점을 명심하십시오! 이것은 원래의 정의에서 이벤트를 구성하는
CMS를 :
<database name="medicom_medi">
<!-- Table myevents -->
<table name="myevents">
<column name="id">13</column>
<column name="title">This is the title</column>
<column name="description">This is the content</column>
<column name="mediwales_event">0</column>
</table>
</database>
<database name="medicom_medi">
<!-- Table myevents_dates -->
<table name="myevents_dates">
<column name="id">22</column>
<column name="eventid">13</column>
<column name="datefrom">2011-01-31 00:00:00</column>
<column name="dateto">0000-00-00 00:00:00</column>
<column name="venue">PA Consulting Group</column>
<column name="address">123 Buckingham Palace Rd, London SW1W 9SR</column>
</table>
</database>
이는 형식입니다 (했다 사방에 내보낼 때 CSV)를
나는 XML로 예제를 내 보낸 그것은 집에서 만든 CMS 이었기 때문에
<database name="medicom_v3">
<!-- Table wp_posts -->
<table name="wp_posts">
<column name="ID">3871</column>
<column name="post_author">1</column>
<column name="post_date">2012-04-10 10:00:34</column>
<column name="post_date_gmt">2012-04-10 10:00:34</column>
<column name="post_content">Testing</column>
<column name="post_title">Test event 2</column>
<column name="post_excerpt"></column>
<column name="post_status">publish</column>
<column name="comment_status">closed</column>
<column name="ping_status">closed</column>
<column name="post_password"></column>
<column name="post_name">test-event-2</column>
<column name="to_ping"></column>
<column name="pinged"></column>
<column name="post_modified">2012-04-10 10:00:34</column>
<column name="post_modified_gmt">2012-04-10 10:00:34</column>
<column name="post_content_filtered"></column>
<column name="post_parent">0</column>
<column name="guid">http://www.mediwales.com/v3/?post_type=tribe_events&#038;p=3871</column>
<column name="menu_order">0</column>
<column name="post_type">tribe_events</column>
<column name="post_mime_type"></column>
<column name="comment_count">0</column>
</table>
</database>
<database name="medicom_v3">
<!-- Table wp_postmeta -->
<table name="wp_postmeta">
<column name="meta_id">14580</column>
<column name="post_id">3871</column>
<column name="meta_key">_EventShowMapLink</column>
<column name="meta_value">false</column>
</table>
<table name="wp_postmeta">
<column name="meta_id">14581</column>
<column name="post_id">3871</column>
<column name="meta_key">_EventShowMap</column>
<column name="meta_value">false</column>
</table>
<table name="wp_postmeta">
<column name="meta_id">14582</column>
<column name="post_id">3871</column>
<column name="meta_key">_EventAllDay</column>
<column name="meta_value">yes</column>
</table>
<table name="wp_postmeta">
<column name="meta_id">14583</column>
<column name="post_id">3871</column>
<column name="meta_key">_EventStartDate</column>
<column name="meta_value">2012-04-17 00:00:00</column>
</table>
<table name="wp_postmeta">
<column name="meta_id">14584</column>
<column name="post_id">3871</column>
<column name="meta_key">_EventEndDate</column>
<column name="meta_value">2012-04-17 23:59:59</column>
</table>
<table name="wp_postmeta">
<column name="meta_id">14585</column>
<column name="post_id">3871</column>
<column name="meta_key">_EventVenueID</column>
<column name="meta_value">0</column>
</table>
<table name="wp_postmeta">
<column name="meta_id">14586</column>
<column name="post_id">3871</column>
<column name="meta_key">_EventCost</column>
<column name="meta_value"></column>
</table>
<table name="wp_postmeta">
<column name="meta_id">14587</column>
<column name="post_id">3871</column>
<column name="meta_key">_EventOrganizerID</column>
<column name="meta_value">0</column>
</table>
</database>
SQL 쿼리를 작성해야하는 것처럼 보입니다. 도구가 열을 매핑 할 수 있지만 일반적으로 테이블을 넘을 수는 없다는 것을 알고 있습니다. 누락 된 열에도 일부 기본값이 필요합니다. – pritaeas
@pritaeas 건배. 한 번에 하나씩 할 수 있습니까? 첫 번째 사용자 정의 테이블을 첫 번째 WP 테이블에 매핑하십시오. 그런 다음 두 번째 테이블을 수행합니까? – Rob
직접 데이터베이스 덤프를 수행하는 대신 WordPress의 XML 가져 오기 기능 또는 XMLRPC를 사용하는 것이 좋습니다. –