discourse/lib/tasks/populate.rake

53 lines
1.4 KiB
Ruby

# frozen_string_literal: true
desc 'Creates sample categories'
task 'groups:populate' => ['db:load_config'] do |_, args|
DiscourseDev::Group.populate!
end
desc 'Creates sample user accounts'
task 'users:populate' => ['db:load_config'] do |_, args|
DiscourseDev::User.populate!
end
desc 'Creates sample categories'
task 'categories:populate' => ['db:load_config'] do |_, args|
DiscourseDev::Category.populate!
end
desc 'Creates sample tags'
task 'tags:populate' => ['db:load_config'] do |_, args|
DiscourseDev::Tag.populate!
end
desc 'Creates sample topics'
task 'topics:populate' => ['db:load_config'] do |_, args|
if ENV['IGNORE_CURRENT_COUNT'] == "true"
DiscourseDev::Topic.populate!(ignore_current_count: true)
else
DiscourseDev::Topic.populate!
end
end
desc 'Creates sample private messages'
task 'private_messages:populate', [:recipient] => ['db:load_config'] do |_, args|
args.with_defaults(type: 'string')
if !args[:recipient]
puts "ERROR: Expecting rake private_messages:populate[recipient]"
exit 1
end
DiscourseDev::Topic.populate!(private_messages: true, recipient: args[:recipient], ignore_current_count: true)
end
desc 'Create post revisions'
task 'post_revisions:populate' => ['db:load_config'] do |_, args|
DiscourseDev::PostRevision.populate!
end
desc 'Add replies to a topic'
task 'replies:populate', [:topic_id, :count] => ['db:load_config'] do |_, args|
DiscourseDev::Post.add_replies!(args)
end