diff --git a/lib/interfaces/sequelize-options.interface.ts b/lib/interfaces/sequelize-options.interface.ts index c0614725..800a9376 100644 --- a/lib/interfaces/sequelize-options.interface.ts +++ b/lib/interfaces/sequelize-options.interface.ts @@ -26,6 +26,10 @@ export type SequelizeModuleOptions = { * Default: true */ synchronize?: boolean; + /** + * Sequelize connection string + */ + uri?: string; } & Partial; export interface SequelizeOptionsFactory { diff --git a/lib/sequelize-core.module.ts b/lib/sequelize-core.module.ts index 66d32615..580812cb 100644 --- a/lib/sequelize-core.module.ts +++ b/lib/sequelize-core.module.ts @@ -135,12 +135,15 @@ export class SequelizeCoreModule implements OnApplicationShutdown { ): Promise { return lastValueFrom( defer(async () => { + const sequelize = options?.uri + ? new Sequelize(options.uri, options) + : new Sequelize(options); + if (!options.autoLoadModels) { - return new Sequelize(options as SequelizeOptions); + return sequelize; } const connectionToken = options.name || DEFAULT_CONNECTION_NAME; - const sequelize = new Sequelize(options); const models = EntitiesMetadataStorage.getEntitiesByConnection( connectionToken, );