TypeORM - Criando um Projeto Simples

Este capítulo explica como criar um aplicativo TypeORM simples. Vamos criar um novo diretório chamado 'TypeORM' e mover para o diretório.

cd /path/to/TypeORM/

Sintaxe

Use o comando abaixo para criar um novo projeto -

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

Exemplo

typeorm init --name FirstProject --database mysql

Aqui,

FirstProject é o nome do seu projeto e sqlite3é o nome do banco de dados. Depois de executar o comando acima, você pode ver a seguinte resposta,

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

Agora, vá para o diretório do nosso projeto e instale as dependências do projeto usando npm módulo,

$ cd FirstProject 

$ npm install

Estrutura do projeto

Vamos entender a estrutura do nosso projeto recém-criado, FirstProject.

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

Aqui,

  • src - contém o código-fonte do seu aplicativo em TypeScriptlíngua. Tem um arquivoindex.ts e dois subdiretórios entity e migration.
  • index.ts - Seu ponto de entrada para o aplicativo.
  • entity - Contém modelos de banco de dados.
  • migration - contém o código de migração do banco de dados.
  • node_modules - Módulos npm salvos localmente.
  • ormconfig.json- Arquivo de configuração principal de sua aplicação. Ele contém detalhes de configuração do banco de dados e configuração de entidades.
  • package.json - Contém dependências do módulo do nó.
  • package-lock.json - Arquivo gerado automaticamente e relacionado a package.json.
  • tsconfig.json - Contém opções de compilador específicas do TypeScript.

arquivo ormconfig.json

Vamos verificar a opção de configuração disponível para nosso aplicativo. Abra o arquivo ormconfig.json e é semelhante a este -

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

Aqui,

type, host, username, password, database e as opções de porta estão relacionadas à configuração do banco de dados. mysql pode ser configurado usando a configuração abaixo -

{ 
   "type": "mysql", 
   "host": "localhost", 
   "port": 3306, 
   "username": "db_username", "password": "db_password", "database": "db_name" 
}
  • entities - refere-se à localização de suas classes de entidade.
  • migrations - refere-se à localização de suas classes de migração.
  • subscribers - refere-se à localização de suas classes de assinantes.
  • cli - refere-se à opção usada por TypeORM CLI para gerar o código automaticamente

Inicie o servidor MySql

Antes de iniciar o aplicativo, inicie o seu MySQL servidor ou qualquer servidor de banco de dados usado por você e certifique-se de que esteja funcionando corretamente.

Executar aplicativo

Depois que tudo estiver configurado, podemos executar o aplicativo usando o comando abaixo -

npm start

Você pode ver a seguinte resposta -

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

O aplicativo inseriu um novo usuário no banco de dados e, em seguida, carregou-o reversamente do banco de dados e, finalmente, mostrou o usuário carregado no console. Nós criamos com sucesso um novoTypeORM aplicativo, configure-o e execute o aplicativo.

Discutiremos sobre como os dados são executados de forma elaborada nos próximos capítulos.