Run DB rake tasks on all tenants

Some tasks don't have to run on every tenant. The task to calculate the
TSV is only done for records which were present before we added the TSV
column, and that isn't going to happen in any tenants because we added
the TSV column before adding the tenants table. Similarly, the migration
needed for existing polls isn't necessary because there weren't any
tenants before we allowed to set the starting/ending time to polls.

We aren't adding any tests for these tasks because tests for rake tasks
are slow and tests creating tenants are also slow, making the
combination of the two even slower, particularly if we add tests for
every single task we're changing. We're adding tests for the
`.run_on_each` method instead.
This commit is contained in:
Javi Martín
2022-09-24 19:28:13 +02:00
parent fe9463cb5f
commit 9759288f3b
6 changed files with 54 additions and 17 deletions

View File

@@ -2,7 +2,7 @@ namespace :settings do
desc "Add new settings"
task add_new_settings: :environment do
ApplicationLogger.new.info "Adding new settings"
Setting.add_new_settings
Tenant.run_on_each { Setting.add_new_settings }
end
desc "Rename existing settings"