Vai al contenuto principale

Utilizzo della CLI

Traduzione Beta Non Ufficiale

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

Installazione della CLI

Se i file delle entità sono in JavaScript

Se hai una versione locale di TypeORM, assicurati che corrisponda alla versione globale che installeremo.

Puoi installare TypeORM globalmente con npm i -g typeorm. In alternativa, puoi usare npx typeorm <params> per ogni comando se preferisci non installarlo.

Se i file delle entità sono in TypeScript

Questo strumento CLI è scritto in JavaScript e progettato per essere eseguito su Node. Se i tuoi file di entità sono in TypeScript, dovrai compilarli in JavaScript prima di usare la CLI. Puoi saltare questa sezione se usi solo JavaScript.

Puoi configurare ts-node nel tuo progetto per semplificare le operazioni come segue:

Installa ts-node:

npm install ts-node --save-dev

Aggiungi il comando typeorm nella sezione scripts di package.json

"scripts": {
...
"typeorm": "typeorm-ts-node-commonjs"
}

Per progetti ESM aggiungi invece:

"scripts": {
...
"typeorm": "typeorm-ts-node-esm"
}

Se vuoi caricare altri moduli come module-alias puoi aggiungere altri --require my-module-supporting-register

Successivamente potrai eseguire il comando così:

npm run typeorm migration:run -- -d path-to-datasource-config

Come leggere la documentazione?

Per ridurre la verbosità della documentazione, le sezioni seguenti utilizzano una CLI TypeORM installata globalmente. A seconda di come hai installato la CLI, puoi sostituire typeorm all'inizio del comando con npx typeorm o npm run typeorm.

Inizializzare un nuovo progetto TypeORM

Puoi creare un nuovo progetto con tutto già configurato:

typeorm init

Vengono creati tutti i file necessari per un progetto base con TypeORM:

  • .gitignore

  • package.json

  • README.md

  • tsconfig.json

  • src/entity/User.ts

  • src/index.ts

Successivamente puoi eseguire npm install per installare tutte le dipendenze. Dopodiché puoi avviare la tua applicazione con npm start.

Tutti i file vengono generati nella directory corrente. Se vuoi generarli in una directory specifica usa --name:

typeorm init --name my-project

Per specificare un database particolare usa --database:

typeorm init --database mssql

Per generare un progetto base ESM usa --module esm:

typeorm init --name my-project --module esm

Puoi anche generare un progetto base con Express:

typeorm init --name my-project --express

Se usi Docker puoi generare un file docker-compose.yml con:

typeorm init --docker

typeorm init è il modo più semplice e veloce per configurare un progetto TypeORM.

Creare una nuova entità

Puoi creare una nuova entità usando la CLI:

typeorm entity:create path-to-entity-dir/entity

Scopri di più sulle entità.

Creare un nuovo sottoscrittore

Puoi creare un nuovo sottoscrittore usando la CLI:

typeorm subscriber:create path-to-subscriber-dir/subscriber

Scopri di più sui Sottoscrittori.

Gestire le migrazioni

  • typeorm migration:create - crea una migrazione vuota

  • typeorm migration:generate - genera una migrazione confrontando le entità con lo schema effettivo del database

  • typeorm migration:run - esegui tutte le migrazioni

  • typeorm migration:revert - annulla l'ultima migrazione

  • typeorm migration:show - elenca tutte le migrazioni con il loro stato di esecuzione

Scopri di più sulle Migrazioni.

Sincronizzare lo schema del database

Per sincronizzare uno schema del database usa:

typeorm schema:sync

Attenzione quando esegui questo comando in produzione: la sincronizzazione dello schema può causare perdite di dati se non usata con cautela. Controlla quali query SQL verranno eseguite prima di procedere in ambiente di produzione.

Registrare le query di sincronizzazione senza eseguirle

Per verificare quali query SQL verrebbero eseguite da schema:sync senza eseguirle effettivamente:

typeorm schema:log

Eliminare completamente lo schema del database

Per eliminare completamente uno schema del database usa:

typeorm schema:drop -- -d path-to-datasource-config

Estrema cautela con questo comando in produzione: rimuove definitivamente tutti i dati dal tuo database.

Eseguire query SQL arbitrarie

Puoi eseguire qualsiasi query SQL direttamente sul database con:

typeorm query "SELECT * FROM USERS"

Pulire la cache

Se utilizzi la cache di QueryBuilder, potresti aver bisogno di pulire completamente i dati memorizzati. Usa questo comando:

typeorm cache:clear

Verificare la versione

Per controllare la versione di TypeORM installata (sia locale che globale):

typeorm version