Skip to content

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.

  • GrydReports works 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.GrydJobs

Keep 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:Jobs entry from appsettings.* 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.

Released under the MIT License.