Aller au contenu
rdlabo.devdocs

API

Les exports publics sont regroupés par chemin d’importation. Les déclarations TypeScript installées fournissent les signatures
génériques complètes. Commencez par Environnement d’exécution pour le cycle de vie et les nouvelles tentatives.

@rdlabo/workers-mysql

function createHyperdriveDatabase

Accepte { primaryHyperdrive, replicaHyperdrive, createOrm, connectionOptions? } et renvoie
HyperdriveDatabase<TDrizzle>. read<Row> utilise la réplique ; query<Rows> et readTransaction
utilisent le primaire ; write et transaction attendent les callbacks ORM de l’application. dispose est sans effet.

function createMysqlDatabase

Accepte { orm, replica } et renvoie Database<TDrizzle>. L’appelant gère les handles existants.
databaseFrom(orm, replica) est l’équivalent avec arguments positionnels.

function hyperdriveConnectionOptions

hyperdriveConnectionOptions(hyperdrive, extra?) crée les options mysql2 depuis une liaison structurelle
HyperdriveLike. Consultez Drizzle et dates pour les valeurs par défaut.

function withMysqlConnections

withMysqlConnections({ primary, replica }, ctx, fn, connectionOptions?) ouvre les deux connexions
et attend fn({ primary, replica }). ctx est conservé pour compatibilité, pas pour un nettoyage explicite.

function retryWhenDeadlock

retryWhenDeadlock(fn, retries = 3, delay = 100) retente ER_LOCK_DEADLOCK, y compris dans les causes
encapsulées. retries est le nombre maximal de tentatives ; les attentes augmentent linéairement de delay millisecondes.
Les autres erreurs sont redéclenchées. Le callback complet peut s’exécuter à nouveau.

Résultats d’écriture et dates

insertIdOf, affectedRowsOf et insertedIdsOf extraient les résultats d’écriture mysql2/Drizzle.
MYSQL_TIMEZONE, toJstDate, jstTimestampParams, jstDatetimeParams, et jstDateParams
implémentent le contrat indépendant de transmission JST fixe.

Types exportés : Database, DisposableDatabase, HyperdriveDatabase, ReadTransaction,
QueryRunner, TxOf, CreateMysqlDatabaseOptions, CreateHyperdriveDatabaseOptions,
Connection, Pool, HyperdriveLike, ExecutionContextLike, et DzWriteResult.

@rdlabo/workers-mysql/drizzle

Nécessite la dépendance homologue Drizzle facultative. Exporte jstTimestamp, jstDatetime, jstDate,
jstOnUpdateNow, DRIZZLE_ORM_OPTIONS, workersDrizzleConfig, et resolveDbSecret.
Types : WorkersDrizzleConfigOptions et ResolvedDbSecret.
honoDrizzleConfig et HonoDrizzleConfigOptions restent des alias obsolètes.
La configuration et la résolution des secrets sont destinées aux outils Node.js ; les utilitaires de colonnes s’utilisent dans les schémas Worker.

@rdlabo/workers-mysql/migrations

Node.js uniquement : baselineMigrations, readBaselineEntry et resolveDbSecret.
Types : BaselineMigrationsOptions, BaselineResult, BaselineEntry et ResolvedDbSecret.
Consultez les exigences de sûreté dans Migrations et tests.

@rdlabo/workers-mysql/testing

Utilitaires de tests Node.js : createTestDb, createPoolDatabase et createNoopDatabase.
Types : TestDb, CreateTestDbOptions, TestDbConnection, CreatePoolDatabaseOptions,
Database, DisposableDatabase, QueryRunner, et TxOf.

@rdlabo/workers-mysql/baseline-cli

runBaselineCli(): Promise<void> exécute la commande d’état de référence à partir des arguments du processus et de l’environnement.
Préférez l’exécutable installé workers-mysql-db-baseline pour un usage dans le shell.