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.