mirror of
https://github.com/whyour/qinglong.git
synced 2026-09-22 19:29:13 +08:00
feat(ql3): establish 3.0 incubation baseline
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
# QingLong 3.0 Edge/Standalone SQLite Readiness 诊断
|
||||
|
||||
本命令用于诊断已初始化的 fresh 或 adopted QingLong 3.0 SQLite authority。它不会执行 migration、
|
||||
修复 schema 或改变 journal mode。
|
||||
|
||||
## 使用
|
||||
|
||||
安装后的产品入口:
|
||||
|
||||
```sh
|
||||
ql3-local-readiness \
|
||||
--database=/opt/qinglong3/qinglong3.sqlite \
|
||||
--profile=edge \
|
||||
--busy-timeout-ms=1000
|
||||
```
|
||||
|
||||
仓库入口:
|
||||
|
||||
```sh
|
||||
pnpm audit:schema:ql3 -- \
|
||||
--database=/opt/qinglong3/qinglong3.sqlite \
|
||||
--profile=edge \
|
||||
--busy-timeout-ms=1000
|
||||
```
|
||||
|
||||
`--profile` 必须与部署配置一致:edge 要求 `DELETE` journal,standalone 要求 `WAL`。数据库必须
|
||||
是当前运行用户所有的 canonical、非 symlink、精确 `0600` regular file。
|
||||
|
||||
成功返回低敏 JSON:
|
||||
|
||||
```json
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"operation": "local.readiness.inspect",
|
||||
"status": "ready",
|
||||
"profile": "edge",
|
||||
"storage": {
|
||||
"contractName": "local-control-core",
|
||||
"contractVersion": 42,
|
||||
"migrationCount": 84,
|
||||
"tableCount": 76,
|
||||
"sqliteVersion": "3.x",
|
||||
"journalMode": "delete"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`tableCount` 和 SQLite version 会随正式 schema 演进,以实际输出为准。结果不会包含数据库路径、业务行、credential、
|
||||
Secret 或 digest。失败只输出稳定错误 code/name;修复前不要通过 chmod 放宽文件权限、绕过
|
||||
symlink 检查或对用户库执行 `drizzle-kit push`。
|
||||
|
||||
旧 `back/migrations` Shadow schema 诊断必须显式使用:
|
||||
|
||||
```sh
|
||||
pnpm audit:legacy-schema:ql3 -- \
|
||||
--database=/absolute/path/to/legacy.sqlite \
|
||||
--json
|
||||
```
|
||||
|
||||
legacy 报告不能作为 fresh/adopted 3.0 readiness 证据。
|
||||
Reference in New Issue
Block a user