TypeORM - Tworzenie prostego projektu

W tym rozdziale wyjaśniono, jak stworzyć prostą aplikację TypeORM. Utwórzmy nowy katalog o nazwie „TypeORM” i przejdźmy do tego katalogu.

cd /path/to/TypeORM/

Składnia

Użyj poniższego polecenia, aby utworzyć nowy projekt -

typeorm init --name <project-name> --database <database-name>

Przykład

typeorm init --name FirstProject --database mysql

Tutaj,

FirstProject to nazwa twojego projektu i sqlite3to nazwa bazy danych. Po wykonaniu powyższego polecenia możesz zobaczyć następującą odpowiedź,

Project created inside /path/to/TypeORM/FirstProject directory

Teraz przejdź do naszego katalogu projektów i zainstaluj zależności projektów przy użyciu npm moduł,

$ cd FirstProject $ npm install

Struktura projektu

Pozwól nam zrozumieć strukturę naszego nowo powstałego projektu, FirstProject.

FirstProject 
├──> src 
│ ├──> entity 
│ │ └──> User.ts 
│ ├──> migration 
│ └──> index.ts 
├──> node_modules 
├──> ormconfig.json 
├──> package.json 
├──> package-lock.json 
└──> tsconfig.json

Tutaj,

  • src - zawiera kod źródłowy Twojej aplikacji w formacie TypeScriptjęzyk. Ma plikindex.ts i dwa podkatalogi entity i migration.
  • index.ts - Twój punkt wejścia do aplikacji.
  • entity - Zawiera modele baz danych.
  • migration - zawiera kod migracji bazy danych.
  • node_modules - lokalnie zapisane moduły npm.
  • ormconfig.json- Główny plik konfiguracyjny aplikacji. Zawiera szczegóły konfiguracji bazy danych i konfigurację jednostek.
  • package.json - Zawiera zależności modułów węzłów.
  • package-lock.json - Plik wygenerowany automatycznie i powiązany z package.json.
  • tsconfig.json - Zawiera opcje kompilatora specyficzne dla języka TypeScript.

plik ormconfig.json

Sprawdźmy, jakie opcje konfiguracyjne są dostępne dla naszej aplikacji. Otwórz plik ormconfig.json i wygląda podobnie do tego -

{ 
   "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
   }    
 }

Tutaj,

type, host, username, password, database a opcje portu są związane z ustawieniami bazy danych. mysql można skonfigurować za pomocą poniższej konfiguracji -

{ 
   "type": "mysql", 
   "host": "localhost", 
   "port": 3306, 
   "username": "db_username", "password": "db_password", "database": "db_name" 
}
  • entities - odnosi się do lokalizacji klas jednostek.
  • migrations - odnosi się do lokalizacji Twoich klas migracji.
  • subscribers - odnosi się do lokalizacji Twoich klas abonentów.
  • cli - odnosi się do opcji używanej przez TypeORM CLI aby automatycznie wygenerować kod

Uruchom serwer MySql

Przed uruchomieniem aplikacji uruchom MySQL serwer lub dowolny serwer bazy danych używany przez Ciebie i upewnij się, że działa poprawnie.

Uruchom aplikację

Po skonfigurowaniu wszystkiego możemy uruchomić aplikację za pomocą poniższego polecenia -

npm start

Możesz zobaczyć następującą odpowiedź -

> [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.

Aplikacja wstawiła nowego użytkownika do bazy danych, a następnie odwrotnie załadowała go z bazy danych i na koniec pokazała załadowanego użytkownika w konsoli. Z powodzeniem stworzyliśmy nowyTypeORM aplikacji, skonfiguruj ją i uruchom aplikację.

W kolejnych rozdziałach omówimy szczegółowo sposób wykonywania danych.