O que typeorm faz?
Diretrizes para desenvolvimento com TypeORM, um ORM completo para TypeScript e JavaScript que suporta múltiplos bancos de dados.
Visão Geral
TypeORM é um ORM (Object-Relational Mapping) que permite interagir com bancos de dados relacionais usando TypeScript e JavaScript. Esta skill fornece diretrizes para configurar entidades, definir relacionamentos, usar repositórios e executar migrações.
Configuração de Entidades
- Use decorações para definir entidades. Exemplo:
import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm';
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column({ unique: true })
email: string;
}
- Defina tipos de coluna apropriados usando as opções da decoração
@Column.
Relacionamentos
- Use
@OneToOne,@OneToMany,@ManyToOnee@ManyToManypara definir relacionamentos. - Exemplo de um relacionamento OneToMany:
import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from 'typeorm';
import { Post } from './Post';
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@OneToMany(() => Post, (post) => post.user)
posts: Post[];
}
Repositórios
- Use
getRepository()ouEntityManagerpara executar operações de banco de dados. - Exemplo de uso do repositório:
import { getRepository } from 'typeorm';
import { User } from './entity/User';
const userRepository = getRepository(User);
const users = await userRepository.find();
Migrações
- Gere e execute migrações para manter o esquema sincronizado com as entidades.
- Comandos:
# Gerar uma migração
typeorm migration:generate -n MigrationName
# Executar migrações
typeorm migration:run
# Reverter a última migração
typeorm migration:revert
Plataformas Suportadas
- TypeScript/JavaScript (Node.js)
- Bancos de dados: MySQL, PostgreSQL, SQLite, Microsoft SQL Server, e outros.
Esta skill auxilia desenvolvedores a seguir essas diretrizes, garantindo código consistente e boas práticas com TypeORM.