栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

续集:使用多个数据库

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

续集:使用多个数据库

您需要为要创建的每个数据库连接创建不同的sequelize实例:

const Sequelize = require('Sequelize');const userDb = new Sequelize();const contentDb = new Sequelize();

从sequelize创建的每个实例都有其自己的数据库信息 (数据库主机,URL,用户,密码等)
,并且这些值无意更改,因此没有“正确”的方法来创建多个连接续集的实例。

从他们的文档

Sequelize将在初始化时设置一个连接池,因此理想情况下,每个数据库只能创建一个实例。

每个数据库一个实例

一种“通用”的方法是将数据库存储在

config.json
文件中,并在其上循环以动态创建连接,如下所示:

config.json

{        databases: {        user: { path: 'xxxxxxxx'        },        content: { path: 'xxxxxxxx'        }    }}

您的应用程式

const Sequelize = require('sequelize');const config = require('./config.json');// Loop throughconst db = {};const databases = Object.keys(config.databases);for(let i = 0; i < databases.length; ++i) {    let database = databases[i];    let dbPath = config.databases[database];    db[database] = new Sequelize( dbPath );}// Or a one linerconst db = Object.entries(config).reduce((r, db) => (r[db[0]] = db[1].path) && r, {});// Sequelize instances:// db.user// db.content

您将需要多做一些编码才能使其启动并运行,但这是一个总体思路。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/416626.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号