1

以前の開発者は、文字通り何千ものニュースとイベント項目を含む Web サイトを構築していました。問題は、彼が自分の CMS で動作するようにデータベースを作成したことです。現在、Wordpress を使用しているため、このデータを WP データベースに移行したいと考えています。

問題は、データがわずかに異なり、インポートする前に操作が必要になることです。これを行う簡単な方法の提案はありますか?

元のデータベースの古いデータを新しい Wordpress データベースの形式にする必要があります。文字通り何百ものエントリがあるため、コピー アンド ペーストの仕事ではないことに注意してください。

例を XML としてエクスポートしました (エクスポート時の CSV はいたるところにありました)。

これにより、元のカスタム 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>

これは、Wordpress 内で必要なデータの形式です。

<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&amp;#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>
4

1 に答える 1

2

これは自家製の CMS であるため、すべてのコードを WordPress 形式に変換するツールが見つからない可能性があります。

この巨大なダンプを変換するスクリプト (php など) を作成します。WordPress (またはプラグイン) は XML を読み取ることができるので、構造とキーを調整するだけでよいと思います。

于 2012-04-10T13:44:59.557 に答える