Table of Contents

Class FirebirdWeaselStoreBuilderExtensions

Namespace
Quartz
Assembly
Quartz.Weasel.Firebird.dll

Hands a Firebird job store's schema to Weasel.

public static class FirebirdWeaselStoreBuilderExtensions
Inheritance
FirebirdWeaselStoreBuilderExtensions
Inherited Members

Methods

UseWeaselForFirebird(IPersistentStoreBuilder, Action<FirebirdWeaselOptions>?)

Lets Weasel create and migrate this store's tables: at startup, and from JasperFx's db-apply, db-assert, db-patch and resources commands.

public static IPersistentStoreBuilder UseWeaselForFirebird(this IPersistentStoreBuilder store, Action<FirebirdWeaselOptions>? configure = null)

Parameters

store IPersistentStoreBuilder

The persistent store being configured.

configure Action<FirebirdWeaselOptions>

Adjusts FirebirdWeaselOptions.

Returns

IPersistentStoreBuilder

The same store builder, for chaining.

Remarks

The store must be on Firebird through FirebirdSql.Data.FirebirdClient — UseFirebird(...) on the same store, which is the driver Weasel speaks — and must not also call ProvisionSchema(); both are checked at startup. Weasel reaches the database through the store's own connections. Firebird 3, 4 and 5 have no schemas, so a table prefix naming one is refused.

The tables are add-only: columns, indexes and foreign keys the application added to them are kept. The index names Quartz 3.x created and 4.x retired are dropped. No lock is taken: every statement Weasel runs is guarded, and nodes applying at once read the schema again and stop when it is done.

The dialect is in the name so that an application referencing more than one Quartz.Weasel package never has two candidates for one call.