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



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

如果您使用GUI通过.CSV导入,您可能需要像上面建议的那样的自定义脚本。

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

<code>
<?php
 $this->addFieldMapping('uid')->defaultValue('1');
?>
</code>

"1"的默认值应该是您希望成为作者的任何用户的UID。

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

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

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

    SELECT MAX(nid)FROM节点;

  2. 导入节点。

  3. 查找要将所有者设置为的用户的uid。

    SELECT uid FROM user WHERE name="Admin";

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

    UPDATE节点SET uid=x WHERE nid>y;

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

相关内容

最新更新