Skip to content

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

Merged
appany-it merged 1 commit into
appany:mainfrom
JasonLandbridge:main
Apr 18, 2026
Merged

feat(quartz): add misfire original fire time column mapping#70
appany-it merged 1 commit into
appany: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.

@JasonLandbridge

Copy link
Copy Markdown
Contributor Author

@sergeyshaykhullin Could you take a look plz?

@appany-it appany-it merged commit 4008c17 into appany:main Apr 18, 2026
1 check failed
@JasonLandbridge

Copy link
Copy Markdown
Contributor Author

@sergeyshaykhullin Thanks for the merge, could you take a look at the last release run?

https://github.com/appany/AppAny.Quartz.EntityFrameworkCore.Migrations/actions/runs/24612723978/job/71969767091

It seems the Nuget API key has expired.

@sergeyshaykhullin

Copy link
Copy Markdown
Member

@JasonLandbridge

Yes, i am in progress of restoring access to nuget =(

Then i will regenerate api and release new version

@JasonLandbridge

Copy link
Copy Markdown
Contributor Author

@sergeyshaykhullin Thanks!

@thaxy

thaxy commented Apr 20, 2026

Copy link
Copy Markdown

Thanks, waiting for the release :) so we can rid of warnings in production. @sergeyshaykhullin

@JasonLandbridge

Copy link
Copy Markdown
Contributor Author

Yes, i am in progress of restoring access to nuget =(

Then i will regenerate api and release new version

@sergeyshaykhullin Polite reminder to pick this up,, you may have forgotten in the meantime.

@sergeyshaykhullin

Copy link
Copy Markdown
Member

@JasonLandbridge No, I haven't forgotten. I'm still waiting for a response from NuGet support =(

@sergeyshaykhullin

Copy link
Copy Markdown
Member

@JasonLandbridge Sorry, i double checked my emails. Nuget responded a week ago

New package version released

https://www.nuget.org/packages/AppAny.Quartz.EntityFrameworkCore.Migrations/0.5.2

@JasonLandbridge

Copy link
Copy Markdown
Contributor Author

@JasonLandbridge Sorry, i double checked my emails. Nuget responded a week ago

New package version released

nuget.org/packages/AppAny.Quartz.EntityFrameworkCore.Migrations/0.5.2

Haha no worries, thank you very much!

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.

4 participants