egg
egg copied to clipboard
sequelize动态修改数据库信息
sequelize动态修改数据库信息出现数据混乱
- 我在配置文件中没有设置database,而是通过登录用户访问接口的时候修改sequelize的信息,就rest api的表现来说并没有什么问题,但是在加入job以后就出现了很奇葩两种的情况:
- 第一种
- 调用api1,期望数据应该存储到db1
- job切换了链接信息到db2
- api1的数据最终存储在了db2
- 第二种
- job切换到db1执行,开启事务,期望data1、if(true)data2都存入db1,
- job切换到了db2,if(true)变成了false,导致data2没有存储
猜测
- sequelize并没有数据库连接池,这样也可以解释上面的问题
以上问题仅仅是猜测,没有实际
可能的解决方案
- sequelize如果没有数据库连接池,加上这个功能会不会直接修复这个问题
- 分的库比较少的话,是否可以通过一个库对应一个worker实现
相关环境信息
- aws ec2:
- Node v12.13.0:
- Egg 2.15.1: