2012-04-10 32 views
1

以前の開発者には、文字通り何千ものニュースニュースの&イベントアイテムが含まれていました。問題は、自分の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> 

これは形式ですそれはホームメイドの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&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> 
+0

SQLクエリを作成する必要があるようです。私はツールが列をマップできることは知っていますが、通常はさらに多くのテーブルを超えてはいません欠落している列にはデフォルト値が必要です。 – pritaeas

+0

@pritaeas乾杯。私が一度に一つをするなら、それはできますか?最初のカスタムテーブルを最初のWPテーブルにマップします。次に、2番目のテーブルを行いますか? – Rob

+1

直接データベースをダンプするのではなく、WordPressのXMLインポート機能またはXMLRPCを使用するほうが良いでしょう。 –

答えて

2

、あなたが最も可能性の高いワードプレスFにすべてのそのコードを変換するための任意のツールを見つけることができません:私は、データがWordpressの内部にする必要がありますormat。

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

関連する問題