Appearance
Migration Guide: GrydReports Without GrydJobs
This guide is for applications that use GrydReports but do not need recurring schedules or job processing.
What Changed
Starting with this version, GrydReports no longer requires GrydJobs by default.
GrydReportsworks standalone for templates, synchronous generation, storage, history, and delivery.- Recurring scheduling is now optional via
GrydReports.Scheduling.GrydJobs.
Migration Checklist
1. Remove GrydJobs package references (if unused)
If your app was only using GrydJobs because of Reports, remove:
bash
dotnet remove package GrydJobs
dotnet remove package GrydJobs.Core
dotnet remove package GrydJobs.Application
dotnet remove package GrydJobs.Infrastructure
dotnet remove package GrydJobs.API
dotnet remove package GrydReports.Scheduling.GrydJobsKeep GrydReports (or individual Reports packages) installed.
2. Remove GrydJobs service registration
Before:
csharp
builder.Services.AddGrydJobs(options =>
{
options.ConnectionString = builder.Configuration.GetConnectionString("Jobs")!;
});After:
csharp
// No GrydJobs registration needed when schedules/jobs are not used.3. Remove GrydJobs middleware and startup calls
Before:
csharp
app.UseGrydJobs();
app.UseGrydJobsDashboard();
await app.ApplyGrydJobsMigrationsAsync();After:
csharp
// Remove GrydJobs middleware/migrations when module is not used.4. Keep Reports registration and migrations
csharp
builder.Services.AddGrydReports(
builder.Configuration,
db => db.UseNpgsql(builder.Configuration.GetConnectionString("GrydReports"))
);
if (app.Environment.IsDevelopment())
{
await app.ApplyGrydReportsMigrationsAsync();
}5. Optional cleanup
- Remove the
ConnectionStrings:Jobsentry fromappsettings.*if no other module uses it. - Remove dashboard routes/health checks related to Jobs if they are no longer needed.
Behavioral Note
If your application does not register GrydReports.Scheduling.GrydJobs, scheduling operations are not available for execution. Use only report features that do not depend on recurring job orchestration.