https://github.com/lakca/egg-sequelizer
support multiple clients and customized model folder(s)
https://github.com/lakca/egg-sequelizer
eggjs nodejs sequelize sequelizejs
Last synced: 8 months ago
JSON representation
support multiple clients and customized model folder(s)
- Host: GitHub
- URL: https://github.com/lakca/egg-sequelizer
- Owner: lakca
- License: mit
- Created: 2018-06-29T09:44:40.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-09-15T19:15:39.000Z (over 7 years ago)
- Last Synced: 2025-06-01T12:45:34.838Z (9 months ago)
- Topics: eggjs, nodejs, sequelize, sequelizejs
- Language: JavaScript
- Homepage:
- Size: 96.7 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# egg-sequelizer
[](https://www.travis-ci.org/lakca/egg-sequelizer)
[](https://codecov.io/gh/lakca/egg-sequelizer)
> [Sequelize](http://docs.sequelizejs.com) use in [eggjs](https://eggjs.org)
> support multi clients(databases) connection, and table folder archive.
## Install
```bash
$ npm i egg-sequelizer --save
```
## Usage
```javascript
ctx.models.DatabaseOne.FolderOne.ModelOne === app.models.DatabaseOne.FolderOne.ModelOne
ctx.models.DatabaseOne.FolderTwo.ModelOne === app.models.DatabaseOne.FolderTwo.ModelOne
ctx.models.DatabaseTwo.FolderOne.ModelOne === app.models.DatabaseTwo.FolderOne.ModelOne
ctx.model.DefaultDatabaseFolderOne.ModelOne === app.model.DefaultDatabaseFolderOne.ModelOne
```
```js
// {app_root}/config/plugin.js
exports.sequelizer = {
enable: true,
package: 'egg-sequelizer',
};
```
## Configuration
singleton client:
```javascript
exports.sequelizer = {
client: {
// directory: '', // resolved to be 'app/model', which is default.
database: 'dbOneName',
host: '***'
username: '***',
password: '***'
}
};
```
multi clients:
```javascript
exports.sequelizer = {
defaultClient: 'dbOneAlias', /* default connection, cab be invoked by 'app.model' */
clients: {
dbOneAlias: {
directory: 'dbOne', // resolved to be 'app/model/dbOne'
database: 'dbOneName',
host: '***'
username: '***',
password: '***'
},
dbTwoAlias: {
directory: 'dbTwo', // resolved to be 'app/model/dbTwo
database: 'dbTwoName',
host: '***'
username: '***',
password: '***'
}
}
};
```
`directory` can be an absolute or relative (to application `app/model`) path(s).
## License
[MIT](LICENSE)