Class: Code0::ZeroTrack::Database::Partitioning::Strategy::Daily
- Defined in:
- lib/code0/zero_track/database/partitioning/strategy/daily.rb
Constant Summary collapse
- PARTITION_SUFFIX =
'Y%YM%mD%d'
Instance Attribute Summary
Attributes inherited from Base
#headroom, #model, #partitioning_column, #retain_detached_for, #retain_for
Instance Method Summary collapse
- #advance_date(date) ⇒ Object
- #default_headroom ⇒ Object
- #normalize_date(date) ⇒ Object
- #partition_name(lower_bound) ⇒ Object
Methods inherited from Time
#current_partitions, #desired_partitions, #desired_range, #oldest_active_date
Methods included from Loggable
Methods inherited from Base
#current_partitions, #desired_partitions, #initialize, #oldest_active_date, #partitions_to_create, #partitions_to_detach, #partitions_to_drop, #retention_enabled?
Constructor Details
This class inherits a constructor from Code0::ZeroTrack::Database::Partitioning::Strategy::Base
Instance Method Details
#advance_date(date) ⇒ Object
11 12 13 |
# File 'lib/code0/zero_track/database/partitioning/strategy/daily.rb', line 11 def advance_date(date) date + 1.day end |
#default_headroom ⇒ Object
25 26 27 |
# File 'lib/code0/zero_track/database/partitioning/strategy/daily.rb', line 25 def default_headroom 30.days end |
#normalize_date(date) ⇒ Object
15 16 17 |
# File 'lib/code0/zero_track/database/partitioning/strategy/daily.rb', line 15 def normalize_date(date) date.beginning_of_day.to_date end |
#partition_name(lower_bound) ⇒ Object
19 20 21 22 23 |
# File 'lib/code0/zero_track/database/partitioning/strategy/daily.rb', line 19 def partition_name(lower_bound) suffix = lower_bound&.strftime(PARTITION_SUFFIX) || 'Y0000M00D00' "#{model.table_name}_#{suffix}" end |