Manuelles Erstellen
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
}
}