Skip to content

feat(quartz): add misfire original fire time column mapping#70

Open
JasonLandbridge wants to merge 1 commit intoappany:mainfrom
JasonLandbridge:main
Open

feat(quartz): add misfire original fire time column mapping#70
JasonLandbridge wants to merge 1 commit intoappany:mainfrom
JasonLandbridge:main

Conversation

@JasonLandbridge
Copy link
Copy Markdown
Contributor

Summary

This PR adds support for Quartz 3.17’s optional MISFIRE_ORIG_FIRE_TIME trigger column in the EF Core schema mappings used by this repo.

Related release note: https://github.com/quartznet/quartznet/releases/tag/v3.17.0

Problem

Quartz introduced an optional MISFIRE_ORIG_FIRE_TIME column on QRTZ_TRIGGERS to preserve the original scheduled fire time for misfired triggers when using “fire now” policies.

Without this column in our EF model mappings:

  • schema validation can fail against upgraded Quartz expectations
  • ScheduledFireTimeUtc behavior for misfired triggers may not align with the new optional column support

What this PR changes

  • Added MisfireOriginalFireTime to the shared QuartzTrigger model.
  • Mapped that property to provider-specific trigger columns:
    • SQL Server: MISFIRE_ORIG_FIRE_TIME (bigint)
    • PostgreSQL: misfire_orig_fire_time (bigint)
    • MySQL: MISFIRE_ORIG_FIRE_TIME (bigint(19))
    • SQLite: MISFIRE_ORIG_FIRE_TIME (bigint)
  • Added provider-level model mapping tests (SQL Server, PostgreSQL, MySQL, SQLite) to verify column name/type mapping.

Scope / compatibility

  • No breaking API changes.
  • This is additive (nullable column mapping).
  • Keeps behavior compatible while enabling Quartz 3.17 optional-column support across all provider projects in this solution.

Validation

  • Solution build passes across targets.
  • Mapping tests were added for each provider to assert the new column metadata.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant