使用迁移模块在Drupal中导入CSV文件。希望节点归管理员所有

使用迁移模块在Drupal中导入CSV文件。希望节点归管理员所有,drupal,import,admin,migrate,Drupal,Import,Admin,Migrate,使用drush migrate import命令导入时,创建的所有节点都归anonymous所有。我希望它们归管理员用户或其他用户所有。有几种方法,但这可能是最快的: 在mysql命令行或drush sqlc上,在导入之前找到最高的节点id: 从节点中选择最大值(nid) 导入节点 查找要将所有者设置为的用户的uid 从用户名为'Admin'的用户中选择uid 发出更新查询以批量更新节点: 更新节点集uid=x,其中nid>y 其中x=管理员用户的uid,y=最大nid+1 有几种方法可以做到这

使用drush migrate import命令导入时,创建的所有节点都归anonymous所有。我希望它们归管理员用户或其他用户所有。

有几种方法,但这可能是最快的:

  • 在mysql命令行或drush sqlc上,在导入之前找到最高的节点id:

    从节点中选择最大值(nid)

  • 导入节点

  • 查找要将所有者设置为的用户的uid

    从用户名为'Admin'的用户中选择uid

  • 发出更新查询以批量更新节点:

    更新节点集uid=x,其中nid>y

    其中x=管理员用户的uid,y=最大nid+1


  • 有几种方法可以做到这一点,但这可能是最快的:

  • 在mysql命令行或drush sqlc上,在导入之前找到最高的节点id:

    从节点中选择最大值(nid)

  • 导入节点

  • 查找要将所有者设置为的用户的uid

    从用户名为'Admin'的用户中选择uid

  • 发出更新查询以批量更新节点:

    更新节点集uid=x,其中nid>y

    其中x=管理员用户的uid,y=最大nid+1


  • 如果您使用GUI通过.CSV导入,则可能需要一个自定义脚本,如上面建议的脚本

    更灵活的方法是使用migrate模块(newet版本),并设置一个迁移类,在执行映射的地方执行此操作

    <code>
    <?php
     $this->addFieldMapping('uid')->defaultValue('1');
    ?>
    </code>
    
    
    
    “1”的默认值应该是您希望成为作者的用户的UID


    确保查看模块随附的啤酒和葡萄酒迁移示例

    如果您使用GUI以.CSV方式导入,则可能需要类似于上面建议的自定义脚本

    更灵活的方法是使用migrate模块(newet版本),并设置一个迁移类,在执行映射的地方执行此操作

    <code>
    <?php
     $this->addFieldMapping('uid')->defaultValue('1');
    ?>
    </code>
    
    
    
    “1”的默认值应该是您希望成为作者的用户的UID


    确保查看模块附带的啤酒和葡萄酒迁移示例

    问题是关于CSV,而不是SQL!问题是关于CSV,而不是SQL!