AdvanceDevSeedDatesCommand
extends Command
in package
Advance date-sensitive development snapshot data to a current reference date.
Table of Contents
Constants
- BASELINE_REFERENCE_DATE : mixed = '2026-02-16'
- The date represented as "today" when the shared development snapshot was captured.
- SHIFTABLE_COLUMNS : array<string, array<int, string>> = ['activities_authorizations' => ['start_on', 'e...
- Business-effective dates that move with the development snapshot calendar.
Methods
- buildOptionParser() : ConsoleOptionParser
- execute() : int
- parseDate() : DateTimeImmutable|null
- Parse an exact ISO calendar date in UTC.
- shiftDates() : int
- Shift effective dates in all available snapshot tables.
- shiftRosterNames() : int
- Keep ISO date ranges embedded in warrant roster names aligned with their warrants.
Constants
BASELINE_REFERENCE_DATE
The date represented as "today" when the shared development snapshot was captured.
public
mixed
BASELINE_REFERENCE_DATE
= '2026-02-16'
SHIFTABLE_COLUMNS
Business-effective dates that move with the development snapshot calendar.
private
array<string, array<int, string>>
SHIFTABLE_COLUMNS
= ['activities_authorizations' => ['start_on', 'expires_on'], 'awards_events' => ['start_date', 'end_date'], 'awards_recommendation_feedback_requests' => ['deadline'], 'gatherings' => ['start_date', 'end_date', 'published_on', 'preregister_closes_on'], 'gathering_scheduled_activities' => ['start_datetime', 'end_datetime'], 'member_roles' => ['start_on', 'expires_on'], 'members' => ['membership_expires_on', 'background_check_expires_on'], 'officers_officers' => ['start_on', 'expires_on'], 'waivers_gathering_waiver_closures' => ['ready_to_close_at'], 'waivers_gathering_waivers' => ['retention_date'], 'warrant_periods' => ['start_date', 'end_date'], 'warrants' => ['start_on', 'expires_on'], 'workflow_approvals' => ['deadline'], 'workflow_tasks' => ['due_date']]
Audit timestamps are intentionally excluded so records do not appear to have been created or modified in the future.
Methods
buildOptionParser()
public
buildOptionParser(ConsoleOptionParser $parser) : ConsoleOptionParser
Parameters
- $parser : ConsoleOptionParser
Tags
Return values
ConsoleOptionParserexecute()
public
execute(Arguments $args, ConsoleIo $io) : int
Parameters
- $args : Arguments
- $io : ConsoleIo
Tags
Return values
intparseDate()
Parse an exact ISO calendar date in UTC.
private
parseDate(string $value) : DateTimeImmutable|null
Parameters
- $value : string
-
Date value.
Return values
DateTimeImmutable|null —Parsed date, or null for invalid input.
shiftDates()
Shift effective dates in all available snapshot tables.
private
shiftDates(Connection $connection, int $shiftDays) : int
Parameters
- $connection : Connection
-
Database connection.
- $shiftDays : int
-
Number of days to add.
Return values
int —Number of table rows updated.
shiftRosterNames()
Keep ISO date ranges embedded in warrant roster names aligned with their warrants.
private
shiftRosterNames(Connection $connection, int $shiftDays) : int
Parameters
- $connection : Connection
-
Database connection.
- $shiftDays : int
-
Number of days to add.
Return values
int —Number of roster names updated.