@tresdoce-nestjs-toolkit/typeorm v2.0.2
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 v20.18.0 or higher (Download)
- YARN v1.22.19 or higher
- NPM v10.9.0 or higher
- NestJS v10.4.7 or higher (Documentación)
🛠️ Instalar dependencia
npm install -S @tresdoce-nestjs-toolkit/typeormyarn 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.
11 months ago
11 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
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
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
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
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago