Closed icai closed 5 years ago
需要在 sequelize 自定义
class NC {
constructor(database, username, password, config) {
return new Sequelize({
name: database,
username,
password,
dialect: config.dialect, // support: mysql, mariadb, postgres, mssql
host: config.host,
modelPaths: [ path.resolve(__dirname, '../app/model/') ],
});
}
}
// config.default.ts
sequelize: {
Sequelize: NC,
dialect: 'mysql', // support: mysql, mariadb, postgres, mssql
database: 'database',
host: 'localhost',
port: '3306',
username: 'root',
password: '',
// delegate: 'myModel', // load all models to `app[delegate]` and `ctx[delegate]`, default to `model`
// baseDir: 'my_model', // load all files in `app/${baseDir}` as models, default to `model`
// exclude: 'index.js', // ignore `app/${baseDir}/index.js` when load models, support glob and array
// more sequelize options
},
Sequelize 参数 比较隐蔽,文档没有说,要看一下源代码
请问有没有更详细点的说明
sequelize-typescript 我一直没跑起来
同样迫切需要sequelize-typescript的实例。整了半天没跑通
有人能给出指导吗?sequelize-typescript的官方示例会什么时候放出来?
这个包兼容了 egg https://github.com/icai/sequelize-auto
Sequelize: NC,
源码也没有这个“Sequelize”吧
@fengbaozhiling NC是自己写的adapter 构造函数
@fengbaozhiling NC是自己写的adapter 构造函数
sequelize: { Sequelize: NC, dialect: 'mysql', // support: mysql, mariadb, postgres, mssql database: 'database', host: 'localhost', port: '3306', username: 'root', password: '', // delegate: 'myModel', // load all models to
app[delegate]and
ctx[delegate], default to
model // baseDir: 'my_model', // load all files in
app/${baseDir}as models, default to
model // exclude: 'index.js', // ignore
app/${baseDir}/index.jswhen load models, support glob and array // more sequelize options },
Sequelize: NC,options类型不对,它会报错
@icai 请问 class NC { constructor(database, username, password, config) { return new Sequelize({ name: database, username, password, dialect: config.dialect, // support: mysql, mariadb, postgres, mssql host: config.host, modelPaths: [ path.resolve(__dirname, '../app/model/') ], }); } }
应该放在哪里,谢谢~
@KaneOne ts开发可以用 midway 这里有sequelize-typescript案例 https://github.com/midwayjs/midway-examples/tree/master/demo-sequelize-typescript
@KaneOne ts开发可以用 midway 这里有sequelize-typescript案例 https://github.com/midwayjs/midway-examples/tree/master/demo-sequelize-typescript
@ZQun 感谢,原来还有midway这个纯ts框架,可以在app.ts里面做db的初始化,我对egg还不是很熟悉,不知道应该在哪里初始化,看egg的文档似乎应该用插件的方式来实现,不过有些重了
源码指的是这个 https://github.com/eggjs/egg-sequelize
https://github.com/eggjs/egg-sequelize/blob/04c9e72ffb1b19dbfcc42275e68fe5113eb5e2fc/lib/loader.js#L28 @icai 谢谢,如果把sequelize-typescript包一层做为插件可能更优雅一点,我昨天看了nestjs和今天 @ZQun 推荐的 midway 可以直接在app.ts里面进行初始化,感觉比较简单。我对egg的框架还不太熟悉,不知道是否理解的对
@icai 现在可以了,NC我原先是放在config.default.ts里面的,但是我犯了个愚蠢的错误,我把plugins.ts里面的sequelize给注释了,虽然我在config.default.ts里面把NC对象加入了,并且执行,但是没有load进app,我看了你的源码链接才反应过来,感谢
提示一个坑: sequelize-typescript加载的是class egg-sequelize加载的是function 两者是冲突的,所以需要在配置egg-sequelize的时候让它加载一个不存在的目录
config.sequelize = {
Sequelize: NC,
host: 'localhost',
port: '3306',
user: 'username',
password: 'password',
database: 'test',
dialect: 'mysql',
baseDir: 'nothing' // 不存在的目录
}
其他配置和 @icai 一样
能否兼容一下这个包
https://www.npmjs.com/package/sequelize-typescript