Zum Hauptinhalt springen

Manuelles Erstellen

Inoffizielle Beta-Übersetzung

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

Sie können eine neue Migration über die CLI erstellen, indem Sie den Namen und Speicherort der Migration angeben:

npx typeorm migration:create <path/to/migrations>/<migration-name>

Beispiel:

npx typeorm migration:create src/db/migrations/post-refactoring

Nach Ausführung des Befehls wird im Verzeichnis src/db/migrations eine neue Datei mit dem Namen {TIMESTAMP}-post-refactoring.ts erzeugt, wobei {TIMESTAMP} der aktuelle Zeitstempel bei der Erstellung der Migration ist.

Nun können Sie die Datei öffnen und Ihre Migrations-SQL-Abfragen dort einfügen. In der Migration sollten Sie folgenden Inhalt sehen:

import { MigrationInterface, QueryRunner } from "typeorm"

export class PostRefactoringTIMESTAMP implements MigrationInterface {
async up(queryRunner: QueryRunner): Promise<void> {}

async down(queryRunner: QueryRunner): Promise<void> {}
}

Es gibt zwei Methoden, die Sie mit Migrationscode füllen müssen: up und down. up muss den Code enthalten, der die Migration durchführt. down muss alle durch up vorgenommenen Änderungen rückgängig machen. Die down-Methode wird verwendet, um die letzte Migration zurückzusetzen.

In beiden Methoden (up und down) haben Sie ein QueryRunner-Objekt. Alle Datenbankoperationen werden über dieses Objekt ausgeführt. Mehr dazu unter Query Runner.

So sieht die Migration mit unseren Post-Änderungen aus:

import { MigrationInterface, QueryRunner } from "typeorm"

export class PostRefactoringTIMESTAMP implements MigrationInterface {
async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "post" RENAME COLUMN "title" TO "name"`,
)
}

async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "post" RENAME COLUMN "name" TO "title"`,
) // reverts things made in "up" method
}
}