TypeORM - Creazione di un progetto semplice
Questo capitolo spiega come creare una semplice applicazione TypeORM. Creiamo una nuova directory denominata "TypeORM" e spostiamoci nella directory.
cd /path/to/TypeORM/
Sintassi
Usa il comando seguente per creare un nuovo progetto -
typeorm init --name <project-name> --database <database-name>
Esempio
typeorm init --name FirstProject --database mysql
Qui,
FirstProject è il nome del tuo progetto e sqlite3è il nome del database. Dopo aver eseguito il comando precedente, potresti vedere la seguente risposta,
Project created inside /path/to/TypeORM/FirstProject directory
Ora, spostati nella nostra directory del progetto e installa le dipendenze del progetto usando npm modulo,
$ cd FirstProject
$ npm install
Struttura del progetto
Cerchiamo di capire la struttura del nostro progetto di nuova creazione, FirstProject.
FirstProject
├──> src
│ ├──> entity
│ │ └──> User.ts
│ ├──> migration
│ └──> index.ts
├──> node_modules
├──> ormconfig.json
├──> package.json
├──> package-lock.json
└──> tsconfig.json
Qui,
- src - contiene il codice sorgente della tua applicazione in formato TypeScriptlinguaggio. Ha un fileindex.ts e due sottodirectory entity e migration.
- index.ts - Il tuo punto di accesso all'applicazione.
- entity - Contiene modelli di database.
- migration - contiene il codice di migrazione del database.
- node_modules - moduli npm salvati localmente.
- ormconfig.json- File di configurazione principale della tua applicazione. Contiene i dettagli di configurazione del database e la configurazione delle entità.
- package.json - Contiene le dipendenze del modulo del nodo.
- package-lock.json - File generato automaticamente e relativo a package.json.
- tsconfig.json - Contiene le opzioni del compilatore specifiche di TypeScript.
file ormconfig.json
Controlliamo l'opzione di configurazione disponibile per la nostra applicazione. Apri il file ormconfig.json e sembra simile a questo -
{
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "test",
"password": "test",
"database": "test",
"synchronize": true,
"logging": false,
"entities": [
"src/entity/**/*.ts" ],
"migrations": [ "src/migration/**/*.ts"
],
"subscribers": [ "src/subscriber/**/*.ts"
],
"cli": {
"entitiesDir":"src/entity", "migrationsDir":"src/migration", "subscribersDir":"src/subscriber
}
}
Qui,
type, host, username, password, database e le opzioni della porta sono correlate all'impostazione del database. mysql può essere configurato utilizzando la configurazione seguente -
{
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "db_username", "password": "db_password", "database": "db_name"
}
- entities - fa riferimento alla posizione delle classi di entità.
- migrations - fa riferimento alla posizione delle tue classi di migrazione.
- subscribers - fa riferimento alla posizione delle classi di iscritti.
- cli - fa riferimento all'opzione utilizzata da TypeORM CLI per generare automaticamente il codice
Avvia il server MySql
Prima di avviare l'applicazione, avvia il tuo MySQL server o qualsiasi server di database da te utilizzato e assicurati che funzioni correttamente.
Esegui l'applicazione
Una volta che tutto è configurato, possiamo eseguire l'applicazione utilizzando il comando seguente:
npm start
Potresti vedere la seguente risposta:
> [email protected] start /Users/../../TypeORM/FirstProject
> ts-node src/index.ts
Inserting a new user into the database... Saved a new user with id: 1 Loading users from the database... Loaded users: [ User { id: 1, firstName: 'Timber', lastName: 'Saw', age: 25 }]
Here you can setup and run express/koa/any other framework.
L'applicazione ha inserito un nuovo utente nel database, quindi lo carica al contrario dal database e infine mostra l'utente caricato nella console. Abbiamo creato con successo un nuovo fileTypeORM applicazione, configurarla ed eseguire l'applicazione.
Discuteremo di come i dati vengono elaborati nei prossimi capitoli.