跳到主要内容

数据库连接

分别配置 PostgreSQL、MySQL、SQLite 和 Turso,不混用连接契约。

Studio 会把每个受支持的引擎作为独立数据库选项。SQLite 和 Turso 共享 SQLite SQL 语义,但连接方式和凭据配置不同。

引擎URL凭据Studio 访问模式
PostgreSQLpostgres://postgresql://URL 或服务端环境默认只读,类型化写入受策略控制
MySQLmysql://URL 或服务端环境默认只读,类型化写入受策略控制
SQLitefile:sqlite:固定只读
Tursolibsql:turso:独立 Auth Token固定只读

SQLite

URL 必须指向现有本地数据库文件,不允许 Query String 和 URL Fragment。

export default defineTesseraConfig({
  database: {
    url: "file:/absolute/path/to/warehouse.db",
  },
});

SQLite 只暴露 main Schema,使用 ? 参数,并在只读事务中执行公开查询。

Turso

Token 必须与 URL 分开:

export default defineTesseraConfig({
  database: {
    url: "libsql://warehouse-org.turso.io",
    authToken: process.env.TURSO_AUTH_TOKEN,
  },
});

省略 database.authToken 时,Studio 会读取 TURSO_AUTH_TOKEN。URL 中不允许 凭据、Query String 或 Fragment。也支持 HTTPS 和 WSS;未加密的 HTTP 与 WS 只允许连接 Loopback 开发服务。

Catalog 范围与限制

PostgreSQL 和 MySQL 可以通过 database.schemas 收窄发现范围。SQLite 和 Turso 只暴露 main。所有 Connector 都会在结果进入 Agent 前应用 maxRowsstatementTimeoutMs、取消信号和受限序列化。