Javascript 使用Knex查询动态更改数据库
我在尝试动态设置Knex数据库时遇到问题。我有多个数据库,每小时递增一次。(例如db-1小时、db-2小时)。当我们切换到一个新的小时,我想使用下一个数据库。我创建了一个示例函数,该函数基于新数据库返回一个新的Knex函数,但得到了一个不推荐使用的警告 我的配置Javascript 使用Knex查询动态更改数据库,javascript,node.js,knex.js,Javascript,Node.js,Knex.js,我在尝试动态设置Knex数据库时遇到问题。我有多个数据库,每小时递增一次。(例如db-1小时、db-2小时)。当我们切换到一个新的小时,我想使用下一个数据库。我创建了一个示例函数,该函数基于新数据库返回一个新的Knex函数,但得到了一个不推荐使用的警告 我的配置 import knex from 'knex'; const knexConfig = { client: 'pg', connection: { host: host, port: port, use
import knex from 'knex';
const knexConfig = {
client: 'pg',
connection: {
host: host,
port: port,
user: user,
database: '',
password: password,
},
pool: {
min: 2,
max: 10,
},
timezone: 'UTC',
};
exports const getCurrentDb = async () => {
const hourDb = await getLatestDbName()
cons knexConfig.connection.database = hourDb; // I update the database name
return knex(knexConfig);
}
用法
代码正在运行,但我始终收到以下警告信息:
不推荐在没有表名的情况下调用knex。改用knex.queryBuilder()。
如何动态连接到数据库?提前谢谢你 警告消息与DB开关机制无关 尝试将
select
语句更改为类似以下内容:
从“/config”导入{getCurrentDb}
const getSomething=async()=>{
const db=await getCurrentDb()
返回db(“something”).columns(“*”)
}
import { getCurrentDb } from "./config"
const getSomething = async () => {
const db = await getCurrentDb()
return db.select().from("something")
}