Nutritious Pumpkin Masses

    pinus-sequelize
    TypeScript icon, indicating that this package has built-in type declarations

    0.0.7 • Public • Published

    pinus-sequelize

    Sequelize plugin for Pinus.

    NOTE: 这个插件只是为了集成Sequelize到Pinus, 更多的文档请访问 http://sequelizejs.com, 本插件的代码基本参考了 egg-sequelize 引入 egg 的方式。

    NPM version npm download

    Install

    $ npm i --save pinus-sequelize
    $ npm install --save mysql2 # For both mysql and mariadb dialects 
     
    # Or use other database backend. 
    $ npm install --save pg pg-hstore # PostgreSQL 
    $ npm install --save tedious # MSSQL 

    Node

    • 配置也默认遵守sequelize风格, 最终的dist/app/config/sequelize.(js|json)里有
    {
      development: {...},
      production: {...}
    }
    
    • 默认 delegate 为 "model", 读取app/model目录, 即挂载sequlize实例到app.model上, 可以通过 app.get('model')获得。

    Usage & configuration

    // app.ts
    import * as sequelize from 'pinus-sequelize';
    sequelize.configure(app);
    
    // 全局 .d.ts 里声明每个model
    import User from '../../../app/model/user';
    declare module 'sequelize' {
      interface Sequelize {
        User: ReturnType<typeof User>;
      }
    }
    
    
    // 默认配置
    {
      delegate: 'model',
      baseDir: 'model', //app目录下
      logging: function(...args) {
        const used = typeof args[1] === 'number' ? `(${args[1]} ms)` : '';
        const sql = args[0].indexOf('Executed') === 0 && args[0].slice(20) || args[0]
        //此处 this 是最终的配置对象
        this.logger.debug('%s %s', sql, used);
      },
      host: 'localhost',
      port: 3306,
      username: 'root',
      benchmark: true,
      define: {
        freezeTableName: false,
        underscored: true,
      },
    }
    
    // 多种数据配置, 通过 app.get(delegate)获得该数据库对象
    {
      datasources: [{
        delegate: 'model',
        baseDir: 'model',
        ....
      }, {
        delegate: 'model2',
        baseDir: 'model2',
        ....
      }]
    }
    

    Keywords

    none

    Install

    npm i pinus-sequelize

    DownloadsWeekly Downloads

    0

    Version

    0.0.7

    License

    MIT

    Unpacked Size

    18.3 kB

    Total Files

    7

    Last publish

    Collaborators

    • hdumok