Ahmed Ejaz
ac06126f59
replace cvv_response_message usage with redirect_auth_url
2025-09-22 11:55:43 +05:00
Maikel Linke
49ec9a3136
Style Rails/WhereRange
2025-01-10 08:43:58 +11:00
David Cook
9c51615b03
Anonymise customer first and last names
...
These were added a couple of years ago in https://github.com/openfoodfoundation/openfoodnetwork/pull/8763
But I guess we never noticed the names weren't getting anonymised.
The old 'name' field is still in the DB. It was kept for compatibility during migraiton but never cleaned up. I've added the tech debt task to the welcome new devs board now: https://github.com/openfoodfoundation/openfoodnetwork/issues/8835
2024-09-16 11:42:58 +10:00
cyrillefr
980ce95ab2
Requested changes
...
- replace direct instance variable use by instance getter use
2024-06-24 10:37:43 +02:00
cyrillefr
659111932c
Fixes Rails/RelativeDateConstant offense
...
- Cop: Rails/RelativeDateConstant
- raises offense if Constant is relative data (ie: since, ago)
- Reason: relative data will be evaluated only once
- BUT here, Date should not be evaluated in a class method, and have a different
- value for each call. But the data should be the same for an instance
- Therefore: move the ago in init method
- Cf. https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsrelativedateconstant
- Since there is no constant to be called form a class, but a date from an instance, the
spec has been modified accordingly. The RemoveTransientData.new.call had to be splitted.
2024-06-21 23:07:16 +02:00
cyrillefr
8c0e20f53c
Deleting some used one-shot rake taskes
...
- in relation to: Fix Rubocop Rails issues #11482
- and Require belongs_to associations by default #11297
- and #12407 #12428 etc.
2024-05-23 10:07:56 +02:00
cyrillefr
5e18038a68
Fix RedundantPresenceValidationOnBelongs on two files
...
- presence: true is redundant since Rails 5.0 BUT applies
with new default config of
belongs_to_required_by_default to true.
Lots of files with belongs_to_required_by_default = false
(backward compatibility).
So: deleting this setting implies to adding optional: true
- added 'NOT NULL' constraints so model constraints match
with contraints on DB tables.
- corresponding migration files to match AR Models &
DB tables
- rake tasks to check corrupt data (ie: NULL/nil in id fields)
- updated the todo
2024-05-01 15:43:09 +02:00
Gaetan Craig-Riou
04f77b5791
Merge pull request #12414 from cyrillefr/RedundantPresenceValidationOnBelongs_part_II
...
Fix RedundantPresenceValidationOnBelongs on some files (part II)
2024-05-01 13:00:47 +10:00
Gaetan Craig-Riou
a977bd633b
Move rake file to the correct folder
2024-04-29 09:58:13 +10:00
cyrillefr
43005672a9
Fix RedundantPresenceValidationOnBelongs on other files
...
- presence: true is redundant since Rails 5.0 BUT applies
with new default config of
belongs_to_required_by_default to true.
Lots of files with belongs_to_required_by_default = false
(backward compatibility).
So: deleting this setting implies to adding optional: true
- added 'NOT NULL' constraints so model constraints match
with contraints on DB tables.
- corresponding migration files to match AR Models &
DB tables
- rake tasks to check corrupt data (ie: NULL/nil in id fields)
- updated the todo
2024-04-24 15:19:17 +02:00
cyrillefr
404fcf1f72
Fix FixRailsWhereEquals
...
- fixes offenses caused by RuboCop::Cop::Rails::WhereEquals cop
2024-04-09 10:44:02 +02:00
Neal Chambers
06e217c527
Safely autocorrect Rails/WhereNot
...
Inspecting 1483 files
........................................................................................................................C..................................................................................................................C...........CC.C..........................................C......C..........C.........................C......................CC..........C........................................................................................................................C.......................................................................................................C........................................................C...........................................................................................................................................C......................................C.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Offenses:
app/controllers/spree/admin/products_controller.rb:183:11: C: [Corrected] Rails/WhereNot: Use where.not(spree_variants: { import_date: nil }) instead of manually constructing negated SQL in where.
where('spree_variants.import_date IS NOT NULL').
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/concerns/permalink_generator.rb:37:26: C: [Corrected] Rails/WhereNot: Use where.not(id: id) instead of manually constructing negated SQL in where.
scope_with_deleted.where('id != ?', id)
^^^^^^^^^^^^^^^^^^^^
app/models/concerns/permalink_generator.rb:37:40: C: [Corrected] Style/HashSyntax: Omit the hash value.
scope_with_deleted.where.not(id: id)
^^
app/models/enterprise.rb:152:7: C: [Corrected] Rails/WhereNot: Use where.not(enterprises: { id: ready_enterprises }) instead of manually constructing negated SQL in where.
where("enterprises.id NOT IN (?)", ready_enterprises)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:158:31: C: [Corrected] Rails/WhereNot: Use where.not(sells: 'none') instead of manually constructing negated SQL in where.
scope :is_distributor, -> { where('sells != ?', 'none') }
^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:479:17: C: [Corrected] Rails/WhereNot: Use where.not(id: id) instead of manually constructing negated SQL in where.
dups = dups.where('id != ?', id) unless new_record?
^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:534:43: C: [Corrected] Rails/WhereNot: Use where.not(enterprises: { id: self }) instead of manually constructing negated SQL in where.
enterprises = owner.owned_enterprises.where('enterprises.id != ?', self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise.rb:583:7: C: [Corrected] Rails/WhereNot: Use where.not(enterprises: { id: id }) instead of manually constructing negated SQL in where.
where('enterprises.id != ?', id).
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise_fee.rb:40:24: C: [Corrected] Rails/WhereNot: Use where.not(spree_calculators: { type: PER_ORDER_CALCULATORS }) instead of manually constructing negated SQL in where.
joins(:calculator).where('spree_calculators.type NOT IN (?)', PER_ORDER_CALCULATORS)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/enterprise_relationship.rb:78:19: C: [Corrected] Rails/WhereNot: Use where.not(name: perms) instead of manually constructing negated SQL in where.
permissions.where('name NOT IN (?)', perms).destroy_all
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/product_import/inventory_reset_strategy.rb:27:16: C: [Corrected] Rails/WhereNot: Use where.not(id: excluded_items_ids) instead of manually constructing negated SQL in where.
relation.where('id NOT IN (?)', excluded_items_ids)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/proxy_order.rb:19:25: C: [Corrected] Rails/WhereNot: Use where.not(proxy_orders: { canceled_at: nil }) instead of manually constructing negated SQL in where.
scope :canceled, -> { where('proxy_orders.canceled_at IS NOT NULL') }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/credit_card.rb:26:39: C: [Corrected] Rails/WhereNot: Use where.not(gateway_customer_profile_id: nil) instead of manually constructing negated SQL in where.
scope :with_payment_profile, -> { where('gateway_customer_profile_id IS NOT NULL') }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/product.rb:166:9: C: [Corrected] Rails/WhereNot: Use where.not(order_cycles: { id: nil }) instead of manually constructing negated SQL in where.
where('order_cycles.id IS NOT NULL')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/variant.rb:94:30: C: [Corrected] Rails/WhereNot: Use where.not(deleted_at: nil) instead of manually constructing negated SQL in where.
scope :deleted, lambda { where('deleted_at IS NOT NULL') }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/variant.rb:165:43: C: [Corrected] Rails/WhereNot: Use where.not(spree_prices: { amount: nil }) instead of manually constructing negated SQL in where.
where('spree_prices.amount IS NOT NULL').
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/zone.rb:141:19: C: [Corrected] Rails/WhereNot: Use where.not(id: id) instead of manually constructing negated SQL in where.
Spree::Zone.where('id != ?', id).update_all(default_tax: false) if default_tax
^^^^^^^^^^^^^^^^^^^^
app/models/spree/zone.rb:141:33: C: [Corrected] Style/HashSyntax: Omit the hash value.
Spree::Zone.where.not(id: id).update_all(default_tax: false) if default_tax
^^
app/models/variant_override.rb:32:7: C: [Corrected] Rails/WhereNot: Use where.not(variant_overrides: { import_date: nil }) instead of manually constructing negated SQL in where.
where('variant_overrides.import_date IS NOT NULL').
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/services/cap_quantity.rb:45:22: C: [Corrected] Rails/WhereNot: Use where.not(variant_id: available_variants_for.select(&:id)) instead of manually constructing negated SQL in where.
order.line_items.where('variant_id NOT IN (?)', available_variants_for.select(&:id))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
engines/catalog/app/services/catalog/product_import/products_reset_strategy.rb:32:18: C: [Corrected] Rails/WhereNot: Use where.not(spree_variants: { id: excluded_items_ids }) instead of manually constructing negated SQL in where.
relation.where('spree_variants.id NOT IN (?)', excluded_items_ids)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
engines/order_management/app/services/order_management/subscriptions/proxy_order_syncer.rb:78:18: C: [Corrected] Rails/WhereNot: Use where.not(order_cycle_id: order_cycle_ids) instead of manually constructing negated SQL in where.
orphaned.where('order_cycle_id NOT IN (?)', order_cycle_ids)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/users_and_enterprises/base.rb:27:14: C: [Corrected] Rails/WhereNot: Use where.not(enterprises: { id: nil }) instead of manually constructing negated SQL in where.
.where("enterprises.id IS NOT NULL")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/users_and_enterprises/base.rb:39:14: C: [Corrected] Rails/WhereNot: Use where.not(enterprise_id: nil) instead of manually constructing negated SQL in where.
.where("enterprise_id IS NOT NULL")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/users_and_enterprises/base.rb:40:14: C: [Corrected] Rails/WhereNot: Use where.not(user_id: nil) instead of manually constructing negated SQL in where.
.where("user_id IS NOT NULL")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/tasks/data/anonymize_data.rake:50:16: C: [Corrected] Rails/WhereNot: Use where.not(user_id: nil) instead of manually constructing negated SQL in where.
Customer.where("user_id IS NOT NULL")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1483 files inspected, 26 offenses detected, 26 offenses corrected
2023-08-20 12:33:43 +09:00
Neal Chambers
e5740a82bd
Safely autocorrect Rails/StripHeredoc
...
Inspecting 1484 files
........................................................................................................................................................................................................................................................C.........................................................................................................................................CC...........................................................................................................................................................................................................................................................................................................................................................................................C.......................................................................C....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Offenses:
app/models/content_configuration.rb:74:48: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
preference :footer_links_md, :text, default: <<-EOS.strip_heredoc
^^^^^^^^^^^^^^^^^^^^
app/queries/customers_with_balance.rb:23:5: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-SQL.strip_heredoc
^^^^^^^^^^^^^^^^^^^^
app/queries/outstanding_balance.rb:32:5: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-SQL.strip_heredoc
^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:71:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:84:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:96:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:109:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:119:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:135:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:151:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:161:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:168:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:182:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:192:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:208:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:218:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:228:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:235:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:253:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:274:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:289:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:310:13: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:369:15: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
<<-JOIN_STRING.strip_heredoc
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/tasks/data/truncate_data.rake:35:17: C: [Corrected] Rails/StripHeredoc: Use squiggly heredoc (<<~) instead of strip_heredoc.
message = <<-MSG.strip_heredoc
^^^^^^^^^^^^^^^^^^^^
lib/tasks/data/truncate_data.rake:36:1: C: [Corrected] Layout/HeredocIndentation: Use 2 spaces for indentation in a heredoc.
\n ...
^^^^^^^^
1484 files inspected, 25 offenses detected, 25 offenses corrected
2023-08-14 17:29:11 +09:00
Matt-Yorkley
a20277c3a7
Completely remove option_values and option_types from the codebase
2023-06-01 10:12:19 +01:00
Maikel Linke
c8cfbbb0b2
Use standard ApplicationRecord in task class
...
It's best practice to use the ApplicationRecord. But when Rake is
loaded, our application is not loaded yet and the ApplicationRecord
class wasn't available yet. Requiring within the task solves the problem
because Rake loads the Rails environment before executing this task.
I also removed the unused highline loading.
2022-09-29 11:56:10 +10:00
Luis Ramos
e52937c113
Use rubocop auto correct to add frozen string literal to all files
...
This is an unsafe auto corection, we will need to trust our build here
2021-06-17 23:07:26 +01:00
Matt-Yorkley
b6038c01a3
Remove references to Adjustment source
2021-04-14 12:01:21 +01:00
Cillian O'Ruanaidh
a80e1b7625
Reduce retention period of Spree state changes and log entries from 6 to 3 months
...
The UK instance noticed Spree state changes and log entries seem to be filling up quite quickly.
Fixes #7123
2021-03-17 12:12:45 +00:00
Matt-Yorkley
4f7c8062a1
Create class to map join table and simplify code
2021-01-28 21:51:50 +00:00
Matt-Yorkley
85c489d303
Ignore carts with failed payments in cleanup
2021-01-27 22:40:23 +00:00
Matt-Yorkley
e6c59fbd96
Update data retention periods
...
Sessions and cart data are removed if older than 3 months, instead of 6.
2021-01-27 22:40:23 +00:00
Matt-Yorkley
3fddaba4bf
Extract private methods
2021-01-27 22:40:23 +00:00
Matt-Yorkley
0a88712926
Clear orphaned records in join table spree_option_value_line_items
2021-01-27 22:40:23 +00:00
Matt-Yorkley
4230d46a06
Remove carts older than 6 months
2021-01-27 22:40:23 +00:00
Pau Perez
e3c1159c17
Start with 6 months data retention
...
As discussed in code review.
2020-09-08 12:49:58 +02:00
Pau Perez
14054f0e70
Move retention period to constant
...
There's no need to reevaluate the date 3 times, potentially leading to
edge cases.
2020-09-08 12:48:30 +02:00
Pau Perez
d525ddfe14
Move missing statements to where + delete_all
...
And fix the specs
2020-09-08 12:47:42 +02:00
Pau Pérez Fabregat
df0b997258
Use where + delete_all to increase readability
...
Co-authored-by: Maikel <maikel@email.org.au >
2020-09-08 12:26:47 +02:00
Pau Pérez Fabregat
ffbb0d26a4
Unhardcode class name
2020-09-08 12:26:21 +02:00
Matt-Yorkley
91501f05f2
DRY date usage
2020-08-15 11:19:24 +01:00
Matt-Yorkley
93601ca556
Extract #remove_transient_data from TruncateData
2020-08-15 11:19:24 +01:00
Luis Ramos
bf0b941e1c
Merge pull request #4935 from coopdevs/data-archiving
...
Allow data archiving using the :truncate_data task
2020-05-03 12:58:31 +01:00
Pau Perez
647a7bdddf
Clarify we won't use truncate_date in prod yet
...
We initially aimed at implementing data archiving in production reusing
this rake task but priorities have changed. It'll be just a refactor for
now.
2020-04-29 17:00:53 +02:00
Pau Perez
e0228f66af
Default to archiving data older than 2 years.
...
This is safer than the current 3 months.
2020-04-29 16:49:43 +02:00
Pau Perez
38ea95ea85
Prevent nil input to turn into 0
2020-04-29 16:49:43 +02:00
Pau Perez
6ceeda7d9e
Instrument TruncateData logging start and end
2020-04-29 16:49:43 +02:00
Pau Perez
703706ee0b
Replace one-letter variable with full word
2020-04-29 16:49:43 +02:00
Pau Perez
e2a3dd0c6f
Delete only return auths. of the deleted orders
...
They are associated to order and as such we can't remove them all
blindly.
2020-04-29 16:49:43 +02:00
Pau Perez
a3b8638faf
Delete sessions older than two weeks
...
This affects users that are actively purchasing, so 2 weeks data is more
than enough. Others can afford to log in again.
2020-04-29 16:49:43 +02:00
Pau Perez
4f015320a3
Upper case DELETE statement
...
This keeps it consistent with the rest of the log.
2020-04-29 16:49:43 +02:00
Pau Perez
0f1d57db73
Delete LogEntries older than a month
...
They are useful for troubleshooting but a month data seems enough.
2020-04-29 16:49:43 +02:00
Pau Perez
5f84c51c13
Delete StateChanges older than a month
...
They are useful for troubleshooting but a month data seems enough.
2020-04-29 16:49:43 +02:00
Pau Perez
d215c76bc9
Make it even more explicit the action is dangerous
...
We're yelling at the person to make a backup before proceeding.
2020-04-29 16:49:43 +02:00
Pau Perez
e1a80edb7e
Carefully doc how to archive data from an instance
2020-04-29 16:49:43 +02:00
Pau Perez
a4372e4d31
Fix long lines
2020-04-29 16:49:43 +02:00
Pau Perez
b6d3c3039a
Fix "Method has too many lines" violation
2020-04-29 16:49:43 +02:00
Pau Perez
f199cb1bea
Warn but allow executing :truncate_data in prod
2020-04-29 16:49:43 +02:00
Pau Perez
be123b2a72
Specify how much data to remove in :truncate_data
2020-04-29 16:49:43 +02:00
Pau Perez
60d29d619f
Replace :truncate_data definition with new class
...
And cover it with a test.
2020-04-29 16:49:43 +02:00
Pau Perez
78fd785f0c
Extract TruncateData out of :truncate_data task
2020-04-29 16:49:43 +02:00