Zum Hauptinhalt springen

Einrichtung

Inoffizielle Beta-Übersetzung

Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →

Bevor Sie mit Migrationen arbeiten, müssen Sie Ihre DataSource-Optionen korrekt konfigurieren:

export default new DataSource({
// basic setup
synchronize: false,
migrations: [__dirname + "/migrations/**/*{.js,.ts}"],

// optional
migrationsRun: false,
migrationsTableName: "migrations",
migrationsTransactionMode: "all",

// other options...
})

synchronise

Das Deaktivieren der automatischen Schema-Synchronisation ist essenziell für die Arbeit mit Migrationen. Andernfalls würden sie keinen Sinn ergeben.

migrations

Definiert die Liste der Migrationen, die TypeORM laden muss. Akzeptiert sowohl Migrationsklassen als auch Verzeichnisse, aus denen geladen werden soll.

Am einfachsten ist es, das Verzeichnis anzugeben, in dem Ihre Migrationsdateien liegen (glob-Muster werden unterstützt):

migrations: [__dirname + "/migrations/**/*{.js,.ts}"]

Durch die Definition sowohl der .js- als auch .ts-Endungen können Sie Migrationen in der Entwicklung und aus kompiliertem JavaScript für die Produktion ausführen (z.B. aus einem Docker-Image).

Alternativ können Sie auch explizite Klassen angeben, um eine feinere Kontrolle zu erlangen:

import FirstMigration from "./migrations/TIMESTAMP-first-migration"
import SecondMigration from "./migrations/TIMESTAMP-second-migration"

export default new DataSource({
migrations: [FirstMigration, SecondMigration],
})

dies erfordert jedoch mehr manuelle Arbeit und kann fehleranfällig sein.

  • migrationsRun - Gibt an, ob Migrationen bei jedem Anwendungsstart automatisch ausgeführt werden sollen.

Optionale Einstellungen

migrationsRun

Legt fest, ob Migrationen bei jedem Anwendungsstart automatisch ausgeführt werden sollen. Standardwert: false

migrationsTableName

Hier können Sie den Namen der Tabelle festlegen, die Informationen über ausgeführte Migrationen speichert. Standardmäßig heißt sie 'migrations'.

migrationsTableName: "some_custom_migrations_table"

migrationsTransactionMode

Steuert den Transaktionsmodus bei der Ausführung von Migrationen. Mögliche Optionen:

  • all (Standard) - fasst alle Migrationen in einer einzigen Transaktion zusammen

  • none

  • each