我知道有一种通过 CSV 邀请用户的前端方法,但这不适用于我的情况,因为它会向将被添加到站点中的数千人发送电子邮件。
尝试通过 CLI 添加时,我收到以下错误。
/var/www/discourse# rails runner script/import_scripts/csv_importer.rb /var/www/discourse/tmp/users.csv
正在加载现有组…
正在加载现有用户…
正在加载现有类别…
正在加载现有帖子…
正在加载现有主题…
文件不存在: /var/www/discourse/tmp/emails.csv
文件不存在: /var/www/discourse/tmp/custom_fields.csv
bundler: 无法加载命令: script/rails (script/rails)
/var/www/discourse/script/import_scripts/csv_importer.rb:29:in initialize': undefined method headers’ for nil (NoMethodError)
@imported_custom_fields_names = @imported_custom_fields.headers.drop(1)
^^^^^^^
对可能发生的情况有什么想法吗?
这个脚本是一个迁移脚本,它不是为了执行添加用户的单一任务而设计的。
您是想创建大量真实用户帐户,还是用于测试?
啊哈!我看到的是导入器(importer),而不是迁移(migration)!谢谢你的提示。
我想通过 CSV 导入大量用户。
pfaffman
(Jay Pfaffman)
4
导入和迁移在这里基本上是同义词。
它应该完成创建所有这些用户的任务(它们将没有密码,所以需要一个密码,可能是通过向它们发送电子邮件来获取)。
你可能需要对编程有一点了解才能使其正常工作。
首先——生日快乐。
我几乎没有任何编程技能。我以为只要启动 import.rb 文件并“指向” users.csv 就行了。
它输出的错误对我来说完全没有意义。我查看了导入脚本的第 29 行,它引用了 headers(标题),所以我以为它指的是 csv 文件的列,所以我花了一些时间摆弄那个,但没有成功。
pfaffman
(Jay Pfaffman)
6
好吧,你没走多远,因为它甚至没有打开你的 csv 文件。
这是那些令人沮丧的事情之一,可能需要 30 秒或几个小时。
但你可以试试把文件复制到那里。这很棘手,因为文件系统中的一个位置在计算机上,而另一个位置在容器内。一旦你解决了这个问题,你就可以开始摆弄列标题了。
啊哈——但这里的问题是,我认为导入器拾取了 users.csv。
我没有也不想导入 emails.csv 等文件。
或者这是一个多部分导入器?其中用户(姓名)在一个 csv 文件中,而电子邮件在另一个 csv 文件(emails.csv)中?
看起来它找到了 users.csv 文件,因为它没有就该文件抛出错误。