Vai al contenuto principale

Configurazione

Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

Prima di utilizzare le migrazioni, devi configurare correttamente le opzioni del tuo DataSource:

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

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

// other options...
})

synchronise

Disattivare la sincronizzazione automatica dello schema è fondamentale per lavorare con le migrazioni. Altrimenti non avrebbero senso.

migrations

Definisce l'elenco delle migrazioni che TypeORM deve caricare. Accetta sia classi di migrazione che directory da cui caricare.

Il modo più semplice è specificare la directory dove si trovano i file di migrazione (sono supportati i pattern glob):

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

Definire sia le estensioni .js che .ts ti permetterà di eseguire le migrazioni in sviluppo e da codice compilato in JavaScript per la produzione (es. da un'immagine Docker).

In alternativa, puoi specificare classi esatte per ottenere un controllo più granulare:

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

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

ma richiede anche più lavoro manuale e può essere soggetto a errori.

  • migrationsRun - Indica se le migration devono essere eseguite automaticamente ad ogni avvio dell'applicazione.

Impostazioni opzionali

migrationsRun

Indica se le migrazioni devono essere eseguite automaticamente ad ogni avvio dell'applicazione. Predefinito: false

migrationsTableName

Potresti voler specificare il nome della tabella che memorizzerà le informazioni sulle migrazioni eseguite. Di default si chiama 'migrations'.

migrationsTableName: "some_custom_migrations_table"

migrationsTransactionMode

Controlla la modalità di transazione durante l'esecuzione delle migrazioni. Le opzioni possibili sono:

  • all (predefinito) - raggruppa l'esecuzione delle migrazioni in un'unica transazione

  • none

  • each