Table of Contents

Class MySqlWeaselStoreBuilderExtensions

Namespace
Quartz
Assembly
Quartz.Weasel.MySQL.dll

Hands a MySQL job store's schema to Weasel.

public static class MySqlWeaselStoreBuilderExtensions
Inheritance
MySqlWeaselStoreBuilderExtensions
Inherited Members

Methods

UseWeaselForMySql(IPersistentStoreBuilder, Action<MySqlWeaselOptions>?)

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 UseWeaselForMySql(this IPersistentStoreBuilder store, Action<MySqlWeaselOptions>? configure = null)

Parameters

store IPersistentStoreBuilder

The persistent store being configured.

configure Action<MySqlWeaselOptions>

Adjusts MySqlWeaselOptions.

Returns

IPersistentStoreBuilder

The same store builder, for chaining.

Remarks

The store must be on MySQL through MySqlConnector — UseMySqlConnector(...) on the same store, because Weasel speaks no other MySQL driver — and must not also call ProvisionSchema(); both are checked at startup. Weasel reaches the database through the store's own connections, and finds the tables through its table prefix: a database before the last dot, the connection's database otherwise.

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. Every apply takes the user lock LockName first. MySQL 8.0 or later: 5.7 ignores the descending column of IDX_QRTZ_T_NFT_ST, so the index would read as changed on every apply.

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