使用drush migrate import命令导入时,创建的所有节点都归匿名所有。我希望它们由管理员用户或其他用户所有。
如果您使用GUI通过.CSV导入,您可能需要像上面建议的那样的自定义脚本。
更灵活的方法是使用migrate模块(newet版本),并设置一个迁移类,在执行映射的地方执行此操作。
<code>
<?php
$this->addFieldMapping('uid')->defaultValue('1');
?>
</code>
"1"的默认值应该是您希望成为作者的任何用户的UID。
请确保查看模块附带的啤酒和葡萄酒迁移示例
有几种方法可以做到这一点,但这可能是最快的:
-
在mysql命令行或drush-sqlc上,在导入之前找到最高的节点id:
SELECT MAX(nid)FROM节点;
-
导入节点。
-
查找要将所有者设置为的用户的uid。
SELECT uid FROM user WHERE name="Admin";
-
发出更新查询以批量更新节点:
UPDATE节点SET uid=x WHERE nid>y;
其中x=管理用户的uid,y=最大nid+1