@tresdoce-nestjs-toolkit/typeorm v1.0.3
Este módulo está pensada para ser utilizada en NestJS Starter, o cualquier proyecto que utilice una configuración centralizada, siguiendo la misma arquitectura del starter.
Glosario
- 🥳 Demo
- 📝 Requerimientos básicos
- 🛠️ Instalar dependencia
- ⚙️ Configuración
- 👨💻 Uso
- 📄 Changelog
- 📜 License MIT
📝 Requerimientos básicos
- NestJS Starter
- Node.js v18.17.0 or higher (Download)
- YARN v1.22.18 or higher
- NPM v9.6.7 or higher
- NestJS v10.3.0 or higher (Documentación)
🛠️ Instalar dependencia
npm install -S @tresdoce-nestjs-toolkit/typeorm
yarn add @tresdoce-nestjs-toolkit/typeorm
⚙️ Configuración
Agregar los datos de conexión a la base de datos en configuration.ts
utilizando el key database
que contenga el
objeto typeorm
y asigne los datos desde las variables de entorno.
Estos datos pueden variar dependiendo si te vas a conectar a una MongoDB
, Postgres
o MySql
, por lo que es
recomendable revisar la Documentación de NestJS como también
la Documentación de TypeORM y
el Data Source Options de TypeORM.
//./src/config/configuration.ts
import { Typings } from '@tresdoce-nestjs-toolkit/core';
import { registerAs } from '@nestjs/config';
export default registerAs('config', (): Typings.AppConfig => {
return {
//...
database: {
typeorm: {
type: 'postgres',
host: process.env.DATABASE_HOST,
port: parseInt(process.env.DATABASE_PORT, 10),
username: encodeURIComponent(process.env.DATABASE_USERNAME),
password: encodeURIComponent(process.env.DATABASE_PASSWORD),
database: encodeURIComponent(process.env.DATABASE_DB_NAME),
synchronize: false,
autoLoadEntities: false,
entities: [__dirname + '/**/*.entity{.ts,.js}'],
},
},
//...
};
});
type
: Es el tipo de base de datos a conectarse.
- Type:
String
- Values:
mongodb | postgres | mysql | <otra>
host
: Es el servidor para conectarse a la base de datos mongo.
- Type:
String
- Values:
localhost | 127.0.0.1 | <host>
port
: Es el puerto para conectarse a la base de datos mongo, no es obligatorio ponerlo.
- Type:
Number
username
: Es el nombre de usuario para conectarse a la base de datos.
- Type:
String
password
: Es la contraseña de usuario para conectarse a la base de datos.
- Type:
String
database
: Es el nombre de la base de datos.
- Type:
String
synchronize
: Indica si el esquema de la base de datos debe ser creado automáticamente en cada lanzamiento de la
aplicación. Tenga cuidado con esta opción y no la utilice en producción - de lo contrario puede perder los datos de
producción.
- Type:
Boolean
autoLoadEntities
: Carga automática de las entities.
- Type:
Boolean
- Default:
false
entities
: Es un array de strings para configurar los entities a utilizar, se puede poner un glob para que reconozca a
todas las entidades.
- Type:
Array
👨💻 Uso
Importar el TypeOrmClientModule
en el archivo app.module.ts
, y el módulo se encargará de obtener la configuración
y realizar la connexion automáticamente.
//./src/app.module.ts
import { TypeOrmClientModule } from '@tresdoce-nestjs-toolkit/typeorm';
@Module({
//...
imports: [
//...
TypeOrmClientModule,
//...
],
//...
})
export class AppModule {}
Para la inyección de Schemas
se utiliza la propiedad forFeature
del módulo enviando las entity
como un array.
import { TypeOrmClientModule } from '@tresdoce-nestjs-toolkit/typeorm';
import { Cat } from './entities/cat.entity';
@module({
imports: [
//...
TypeOrmClientModule.forFeature([Cat]),
//...
],
//...
})
export class CatsModule {}
📄 Changelog
Todos los cambios notables de este paquete se documentarán en el archivo Changelog.
4 months ago
8 months ago
9 months ago
9 months ago
10 months ago
10 months ago
9 months ago
10 months ago
10 months ago
10 months ago
9 months ago
9 months ago
8 months ago
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
11 months ago
11 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago