我使用sequelize.js连接sqlite,但我必须关闭连接,因为我想修改sqlite的文件。Windows无法在文件打开时修改它。
我这样创建对象:
const sequelize = new Sequelize('database', null, null, {
dialect: 'sqlite',
storage: 'db.sql',
define: {
timestamps: false,
freezeTableName: true
},
dialectModule: sqlite3
})
当我关闭连接时,我无法通过原始对象重新连接sqlite。我尝试使用ConnectionManager初始化,但它不工作。
sequelize.close()
// do something ...
sequelize.connectionManager.initPools()
sequelize.authenticate() // raise the error by disconnect
1条答案
按热度按时间z31licg01#
很抱歉我做了尸检。
我想,我找到了一个变通办法。
1.将数据库处理程序 Package 在类中
`// DBHandler.ts
1.模型定义文件,假设使用Model.init()(也将与.define()一起使用):在Promise中 Package Model.init(... args),然后将其 Package 在一个Projec函数中
1.对关联执行相同的操作:
1.用钩子做同样的包裹。 我已经用PostgreSQL测试过了,但我认为它也应该能用SQLite。没有必要使这些函数异步,如果你喜欢同步init,只需删除这些Promises。 在你的代码中:
`
应该可以!
//对不起,无法正确格式化(1.)