Nodefony 10.0.0-beta.5
Framework Node.js fullstack — HTTP & WebSocket, même contexte

Référence d'API — @nodefony/drizzle — migrator

stable

Documentation › Référence d’API › @nodefony/drizzle › migrator

Générée depuis les déclarations de types publiées de @nodefony/drizzle 10.0.0-beta.5 : exactement ce que reçoit une application qui l’installe. Cette page n’existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.

@nodefony/drizzle#

import { … } from "@nodefony/drizzle" — 60 symboles.

Classes (2)#

DrizzleMigrator#

class DrizzleMigrator

MigrationVerdictError#

class MigrationVerdictError extends Error

Erreur portant un IMigrationVerdict — le message n’est qu’un rendu.

Fonctions (23)#

action#

function action(command: string): IMigrationAction

Fabrique une action affichable et exécutable.

appMigrationsDir#

function appMigrationsDir(kernel: Kernel | null, dir: string): string

Dossier de migrations de l’application, résolu depuis la racine que le kernel connaît.

buildMigrator#

function buildMigrator(resolution: Extract<IConnectorResolution, { kind: "ready"; }>, config: IDrizzleConfig, kernel: Kernel | null): Promise<DrizzleMigrator>

Construit l’applicateur d’un connecteur résolu.

buildReport#

function buildReport(plan: IMigrationPlan, ctx: IReportContext): IMigrationReport

Compose la charge utile complète d’un état de migration.

defaultMigrationSources#

function defaultMigrationSources(appDir?: string, options?: { framework?: boolean; connector?: string; }): Promise<IMigrationSource[]>

Registre de sources standard : le framework, puis l’application.

exitCodeOf#

function exitCodeOf(verdict: MigrationVerdictName, divergenceBlocks?: boolean): 0 | 1 | 2

Le code de sortie d’un verdict.

frameworkMigrationsDir#

function frameworkMigrationsDir(): Promise<string>

Dossier des migrations livrées par ce paquet.

knownConnectors#

function knownConnectors(config: IDrizzleConfig): string[]

Tous les noms de connecteurs qui existent, tous ORM confondus.

loadSources#

function loadSources(sources: readonly IMigrationSource[], dialect: SqlDialect): Promise<ILoadedSources>

Charge toutes les sources d’un registre pour un dialecte donné.

meaningOf#

function meaningOf(verdict: MigrationVerdictName): string

Ce que le verdict veut dire — la CAUSE, entre le fait et le geste.

migrationHash#

function migrationHash(content: string): string

Empreinte d’un fichier de migration : normalisée et auto-descriptive.

openMigrationDriver#

function openMigrationDriver(target: IMigrationTarget): Promise<IMigrationDriver>

Ouvre le pilote à connexion unique du dialecte demandé.

orderSources#

function orderSources(sources: readonly IMigrationSource[]): IMigrationSource[]

Ordonne un registre de sources : rang croissant, nom en départage.

readMigrationEnv#

function readMigrationEnv(kernel: Kernel | null): IMigrationEnv

Constate l’environnement depuis le kernel et le processus.

renderRefusal#

function renderRefusal(verdict: IMigrationVerdict, message: string, style: IStyle, ddl?: string): string

Rendu humain d’un REFUS de l’applicateur.

renderStatus#

function renderStatus(report: IMigrationReport, style: IStyle): string

Rendu humain d’un état de migration — l’écran que voit celui qui tape orm:migrate:status.

resetAllowed#

function resetAllowed(env: IMigrationEnv): boolean

L’effacement d’une base est-il ACCEPTÉ dans cet environnement ?

resolveCheckMode#

function resolveCheckMode(explicit: MigrationCheckMode, env: IMigrationEnv): MigrationCheckMode

La conduite de la sonde de disponibilité face à un schéma en retard.

resolveConnector#

function resolveConnector(connector: string, config: IDrizzleConfig, env: IMigrationEnv, kernel: Kernel | null, options?: { allowMigrateUrl?: boolean; }): IConnectorResolution

Résout un nom de connecteur en l’une des trois réponses possibles.

resolveDdlMode#

function resolveDdlMode(explicit: DdlMode, env: IMigrationEnv, appHasMigrations?: boolean, volatile?: boolean): DdlMode

Le mode de schéma qui s’applique à un connecteur.

resolveDivergenceMode#

function resolveDivergenceMode(config: IDrizzleConfig): DivergenceMode

Conduite face à la divergence, telle que la configuration la déclare.

styleFor#

function styleFor(tty: boolean): IStyle

Construit le styliste : couleurs en terminal, texte nu ailleurs.

verdictOf#

function verdictOf(plan: IMigrationPlan, divergent?: boolean): MigrationVerdictName

Situation d’ensemble d’un plan, dans l’ordre de gravité.

Constantes (12)#

APP_RANK#

const APP_RANK = 1000000

Rang de la source application : dernière appliquée, toujours.

APP_SOURCE#

const APP_SOURCE = "app"

Nom logique RÉSERVÉ de la source livrée par l’application.

DEFAULT_LOCK_TIMEOUT_MS#

const DEFAULT_LOCK_TIMEOUT_MS = 30000

Délai d’attente du verrou, par défaut.

EXIT#

const EXIT: { readonly ok: 0; readonly actionRequired: 1; readonly error: 2; }

Grille des codes de sortie — figée, jamais réaffectée.

FORMAT_MARKER#

const FORMAT_MARKER = "-- nodefony:migration format=1"

Marqueur de format que porte la première ligne de chaque fichier .sql.

FRAMEWORK_RANK#

const FRAMEWORK_RANK = 0

Rang de la source framework : première appliquée, toujours.

FRAMEWORK_SOURCE#

const FRAMEWORK_SOURCE = "framework"

Nom logique RÉSERVÉ de la source livrée par le framework.

HISTORY_TABLE#

const HISTORY_TABLE = "nodefony_migrations"

Nom de la table d’historique — jamais qualifié d’un schéma.

MIGRATE_URL_ENV#

const MIGRATE_URL_ENV = "NF_MIGRATE_DATABASE_URL"

URL de connexion réservée au travail de migration.

MIGRATION_FORMAT_VERSION#

const MIGRATION_FORMAT_VERSION = 1

Version de la charge utile --json et du plan d’administration.

MYSQL_LOCK_NAME_SQL#

const MYSQL_LOCK_NAME_SQL: string

Expression SQL de l’identité du verrou — évaluée par le SERVEUR.

PG_LOCK_KEY#

const PG_LOCK_KEY: bigint

Clé du verrou consultatif PostgreSQL — figée à vie.

Interfaces (20)#

IAppliedMigration#

interface IAppliedMigration

Une ligne de la table d’historique, colonnes lues NOMMÉMENT.

IDrizzleMigratorOptions#

interface IDrizzleMigratorOptions extends IMigrationTarget

Options de construction de l’applicateur.

IMigrateOptions#

interface IMigrateOptions

Assouplissements explicites d’une passe d’application.

IMigrationAction#

interface IMigrationAction

Commande à exécuter pour lever un refus — l’agent lit nextActions[0].

IMigrationApplied#

interface IMigrationApplied

Résultat de l’application d’une migration.

IMigrationDrift#

interface IMigrationDrift

Une dérive constatée : le fichier a changé après avoir été appliqué.

IMigrationDriver#

interface IMigrationDriver extends ISchemaReader

Pilote de base de données de l’applicateur — une connexion, pas un pool.

IMigrationEnv#

interface IMigrationEnv

L’environnement tel qu’on le CONSTATE — jamais déduit à l’intérieur.

IMigrationFile#

interface IMigrationFile

Un fichier de migration chargé depuis une source.

IMigrationPlan#

interface IMigrationPlan

État complet, calculé en LECTURE SEULE.

IMigrationReport#

interface IMigrationReport

La charge utile figée — cœur NEUTRE au premier niveau, spécifique du pilote sous driver.

IMigrationRun#

interface IMigrationRun

Résultat d’un migrate().

IMigrationSource#

interface IMigrationSource

Une source de migrations : un espace de noms OUVERT.

IMigrationSourceReport#

interface IMigrationSourceReport

Ce qu’une source de migrations donne à voir.

IMigrationTarget#

interface IMigrationTarget

Cible de connexion de l’applicateur.

IMigrationVerdict#

interface IMigrationVerdict

Verdict structuré : la source, dont la prose n’est qu’un rendu.

IReportContext#

interface IReportContext

Ce que le rendu doit savoir en plus du plan lui-même.

ISchemaComparison#

interface ISchemaComparison

Ce que la comparaison a trouvé.

ISchemaGap#

interface ISchemaGap

Une colonne attendue par le code et absente de la base.

IStyle#

interface IStyle

Codes ANSI, neutralisés hors terminal (un | jq ne doit rien recevoir).

Types (3)#

IConnectorResolution#

type IConnectorResolution = { kind: "ready"; connector: string; dialect: SqlDialect; target: IMigrationTarget; fromMigrateUrl: boolean; ddl: DdlMode; } | { kind: "unsupported"; connector: string; owner: string; sqlLike: boolean; driver: string; } | { kind: "url-mismatch"; connector: string; dialect: SqlDialect; urlDialect: SqlDialect | null; } | { kind: "unknown"; connector: string; known: string[ …

Ce qu’un connecteur est, du point de vue des migrations.

MigrationVerdictCode#

type MigrationVerdictCode = "NF_MIGRATE_BASELINE_REQUIRED" | "NF_MIGRATE_FAILED_MARKER" | "NF_MIGRATE_HASH_MISMATCH" | "NF_MIGRATE_OUT_OF_ORDER" | "NF_MIGRATE_MISSING_FILE" | "NF_MIGRATE_UNKNOWN_FORMAT" | "NF_MIGRATE_LOCK_TIMEOUT" | "NF_MIGRATE_UNKNOWN_TAG" | "NF_MIGRATE_UNKNOWN_SOURCE" | "NF_MIGRATE_JOURNAL_MISMATCH"

Codes de refus stables de l’applicateur.

MigrationVerdictName#

type MigrationVerdictName = "up-to-date" | "pending" | "drift" | "failed" | "adopt" | "divergent"

Verdicts possibles — énumération GELÉE avec MIGRATION_FORMAT_VERSION.


← Toutes les références d’API