Мне нужен экспорт данных в CSV, превышающий 10 000 строк, но в результате экспортируются не все записи.
Предполагаю, что именно эта строка отвечает за указанное ограничение:
register_svg_icon "info"
register_svg_icon "pencil-alt"
register_svg_icon "upload"
end
# route: /admin/plugins/explorer
add_admin_route 'explorer.title', 'explorer'
module ::DataExplorer
QUERY_RESULT_DEFAULT_LIMIT = 1000
QUERY_RESULT_MAX_LIMIT = 10000
def self.plugin_name
'discourse-data-explorer'.freeze
end
end
after_initialize do
add_to_class(:guardian, :user_is_a_member_of_group?) do |group|
return false if !current_user
return true if current_user.admin?
Как правильно увеличить это ограничение, например, до 100 000 или 1 000 000 записей?
Я пробовал добавить DISCOURSE_QUERY_RESULT_MAX_LIMIT = 1000000 в файл app.yml, но это, похоже, не оказывает никакого эффекта.
Возможно, придётся прибегнуть к созданию плагина для плагина.
Создайте небольшой плагин с именем x-discourse-data-explorer, и его, возможно, оценят впоследствии.
А затем просто переопределить константу модуля?
Это будет много «плагинопции». Я надеялся, что есть более простой выход.
cc @riking
Или сделать форк плагина, внести изменения, указать на свой форк и пересобрать? (почему я сразу не ответил этим? )
Я так же думал. Если нет другого (разумного) выхода, форк — это последний вариант.
Однако было бы полезно понять, какова причина жёсткого ограничения результатов до 10 тысяч. Возможно, что-то ломается, если получить больше 10 тысяч результатов?
“discourse-data-explorer-MAX”… Я уже иду!
riking
(Kane York)
30.Ноябрь.2021 19:25:45
8
Да, эта константа модуля намеренно настроена так, чтобы её было легко переопределить из другого плагина.