将Drupal字段作为自定义字段迁移到WordPress

时间:2013-08-21 20:00:37

标签: mysql wordpress drupal database-migration

在将Drupal迁移到WordPress时(遵循official page上的指南),我还没有找到任何方法将Drupal“Fields”迁移到WordPress作为“自定义字段”。由于我对Drupal很新,请建议我该怎么做。任何代码示例,链接或想法,以解决此问题将不胜感激。

其他信息:

  1. Drupal v6.28; Wordpress v3.6;
  2. 请考虑我是Drupal的新手而不是WordPress

3 个答案:

答案 0 :(得分:2)

看起来我开发了一个解决方案,如何将Drupal Fields作为自定义字段迁移到WordPress(post meta):

首先,假设我们在Drupal下有一个自定义内容类型。假设它有一个“键”my_custom_type,那么,如果此内容类型有字段,则数据库将有一个名为

的表
`content_type_my_custom_type`

此表格将包含与此内容类型相关的字段。例如:

    nid | vid | field_xxx_xxx | field_yyy_yyy | ...
    _______________________________________________
    10  |  1  | the_value_x01 | the_value_y01 | ...
    11  |  2  | the_value_x11 | the_value_y11 | ...
    11  |  3  | the_value_x12 | the_value_y12 | ...
    11  |  4  | the_value_x13 | the_value_y13 | ...

其中

  1. nid - 节点ID(节点UNIQUE id)
  2. vid - 版本ID(当前节点修订版的UNIQUE ID;每个节点可能有无限数量的修订版)
  3. field_xxx_xxx - 字段KEY
  4. 任务是将字段移动到现有 WordPress帖子,作为此帖子自定义字段(post_meta)。

    考虑Wordpress中$TABLEPREFIX_post_meta表的结构(对你的answer,Chris):

    1. meta_id - index
    2. post_id - 相关帖子的ID
    3. meta_key - 字段名称
    4. meta_value - 字段值
    5. ,我们可以使用此查询:

      INSERT INTO wordpress.wp_postmeta
          (post_id, meta_value, meta_key)        
          SELECT 
              tt.nid `post_id`,
              tt.field_xxx_xxx `meta_value`,
              'field_xxx_xxx' `meta_key`  
              FROM drupal.content_type_my_custom_type tt
              INNER JOIN
                  (
                  SELECT nid, MAX(vid) AS MaxVID
                  FROM temp.content_type_my_custom_type
                  GROUP BY nid
                  ) groupedtt ON tt.nid = groupedtt .nid AND tt.vid = groupedtt.MaxVID
      

      澄清:我们已插入3个字段,其中

      1. post_id等于nid
      2. meta_value等于field_xxx_xxx(替换为您的)
      3. meta_key等于字符串"field_xxx_xxx"
      4. 我们还进行内连接以选择最大vid值(最新修订版)。

        这种方法不是完全自动化的,但却像魅力一样。 希望它有所帮助!

答案 1 :(得分:1)

它们存储在wp_postmeta表中的WordPress数据库中,包含以下字段:

  • meta_id - index

  • post_id - 相关帖子的ID

  • meta_key - 字段名称

  • meta_value - 字段的值

我不太了解Drupal如何存储其字段数据,但只要有帖子ID,密钥和值,您就可以创建一个查询来将其迁移到WordPress。

答案 2 :(得分:1)

您可以查看WP Ultimate CSV Importer Plugin。这个功能强大的工具允许从csv文件导入帖子,它还会自动创建分配给帖子的类别和自定义字段。将表从数据库导出到CSV文件可以在phpMyAdmin中完成。

我不知道Drupal数据库的结构,所以我不知道这有多大帮助,但是这个工具在类似情况下帮助了我。