@@ -2,6 +2,9 @@ import {Model} from "./Model";
22import { DEFAULT_DEFINE_OPTIONS , getModels } from "../services/models" ;
33import { getAssociations , processAssociation } from "../services/association" ;
44import { ISequelizeConfig } from "../interfaces/ISequelizeConfig" ;
5+ import { ISequelizeUriConfig } from "../interfaces/ISequelizeUriConfig" ;
6+ import { ISequelizeDbNameConfig } from "../interfaces/ISequelizeDbNameConfig" ;
7+ import { SequelizeConfig } from "../types/SequelizeConfig" ;
58import { resolveScopes } from "../services/scopes" ;
69import { installHooks } from "../services/hooks" ;
710import { ISequelizeValidationOnlyConfig } from "../interfaces/ISequelizeValidationOnlyConfig" ;
@@ -20,6 +23,14 @@ export abstract class BaseSequelize {
2023 throughMap : { [ through : string ] : any } = { } ;
2124 _ : { [ modelName : string ] : ( typeof Model ) } = { } ;
2225
26+ static isISequelizeDbNameConfig ( obj : any ) : obj is ISequelizeDbNameConfig {
27+ return obj . hasOwnProperty ( "name" ) && obj . hasOwnProperty ( "username" ) ;
28+ }
29+
30+ static isISequelizeUriConfig ( obj : any ) : obj is ISequelizeUriConfig {
31+ return obj . hasOwnProperty ( "uri" ) ;
32+ }
33+
2334 static extend ( target : any ) : void {
2435
2536 extend ( target , this ) ;
@@ -28,7 +39,7 @@ export abstract class BaseSequelize {
2839 /**
2940 * Prepares sequelize config passed to original sequelize constructor
3041 */
31- static prepareConfig ( config : ISequelizeConfig | ISequelizeValidationOnlyConfig ) : ISequelizeConfig {
42+ static prepareConfig ( config : SequelizeConfig | ISequelizeValidationOnlyConfig ) : SequelizeConfig {
3243 if ( ! config . define ) {
3344 config . define = { } ;
3445 }
@@ -38,13 +49,19 @@ export abstract class BaseSequelize {
3849
3950 return this . getValidationOnlyConfig ( config ) ;
4051 }
41- return { ...config as ISequelizeConfig } ;
52+
53+ if ( BaseSequelize . isISequelizeDbNameConfig ( config ) ) {
54+ // @TODO : remove deprecated "name" property
55+ return { ...config , database : config . name } as ISequelizeConfig ;
56+ }
57+
58+ return { ...config as SequelizeConfig } ;
4259 }
4360
44- static getValidationOnlyConfig ( config : ISequelizeConfig | ISequelizeValidationOnlyConfig ) : ISequelizeConfig {
61+ static getValidationOnlyConfig ( config : SequelizeConfig | ISequelizeValidationOnlyConfig ) : ISequelizeConfig {
4562 return {
4663 ...config ,
47- name : '_name_' ,
64+ database : '_name_' ,
4865 username : '_username_' ,
4966 password : '_password_' ,
5067 dialect : 'sqlite' ,
@@ -66,7 +83,7 @@ export abstract class BaseSequelize {
6683 models . forEach ( model => this . _ [ model . name ] = model ) ;
6784 }
6885
69- init ( config : ISequelizeConfig ) : void {
86+ init ( config : SequelizeConfig ) : void {
7087
7188 if ( config . modelPaths ) this . addModels ( config . modelPaths ) ;
7289 }
0 commit comments