@vectorx/cloud-database-client
v1.1.0
Published
Cloud Database Client for VectorX
Readme
@vectorx/cloud-database-client(平台内部)
用于在平台侧(如 Web-IDE / 服务端)以统一 API 方式访问不同数据库(当前先支持 Postgres)。
设计分层
- Provider(抽象能力):按
dbType实现 schema 读取、SQL 执行、DDL/结构修改等能力(当前先落地 PG)。 - DatabaseClient(对外入口):封装 provider,实现
executeSql / getTableColumns / listTables / close等统一操作。
注意:本包定位为平台内部使用,与面向开发者的
@vectorx/database-sdk(Supabase/Data API)职责不同。
快速使用(PG)
import { createDatabaseClient, OrmLikeDbLogger, PostgresProvider } from "@vectorx/cloud-database-client";
// 由平台侧负责获取连接配置(可来自网关/配置中心/密钥系统等)
const provider = new PostgresProvider({
config: {
host: "localhost",
user: "database-user",
database: "mydb",
max: 20,
idleTimeoutMillis: 30000,
connectionTimeoutMillis: 2000,
},
verbose: true,
logger: new OrmLikeDbLogger({ format: "pretty" }),
maxValueLength: 200,
});
const client = createDatabaseClient({ provider });
// 1) 执行 SQL(PG 默认池化)
const { rows } = await client.executeSql({
sql: "select now() as now",
readonly: true,
});
// 2) 读取字段
const columns = await client.getTableColumns({ schema: "public", table: "users" });
await client.close();