1
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
2026-04-26 21:07:55 +08:00
609 changed files with 4601 additions and 14501 deletions

View File

@@ -14,7 +14,7 @@
当前目录已不再只是占位,当前阶段已经落下:
1. 通过 `spacetime generate --lang rust --include-private` 生成的最小 Rust bindings
1. 通过 `npm run spacetime:generate -- --rust-only` 生成的公开 Rust bindings
2. `DbConnection` 连接封装
3. `confirm_asset_object_and_return` procedure 的最小调用适配
4. `bind_asset_object_to_entity_and_return` procedure 的最小调用适配
@@ -33,9 +33,11 @@
`src/module_bindings` 目录下的 Rust 文件统一视为 SpacetimeDB CLI 生成产物,后续维护必须遵守:
1. 只允许通过 `spacetime generate --lang rust` 刷新,不允许手工修改。
2.允许对该目录执行 `rustfmt`,避免把 CLI 原始输出改写成额外格式化噪音
3. `src/lib.rs` 已通过 `#[rustfmt::skip] pub mod module_bindings;` 显式阻止 workspace 级 `cargo fmt` 继续递归格式化该目录
1. 只允许通过仓库根目录 `npm run spacetime:generate -- --rust-only` 刷新,不允许手工修改。
2.生成私有表绑定,不追加 `--include-private`;如后端需要读取私有表,应先在 `api-server` 或模块层补明确 contract而不是让客户端 crate 直接依赖私有表结构
3. 不允许对该目录额外执行 `rustfmt`,生成物格式只接受 SpacetimeDB CLI 生成阶段自身输出
4. `src/lib.rs` 已通过 `#[rustfmt::skip] pub mod module_bindings;` 显式阻止 workspace 级 `cargo fmt` 继续递归格式化该目录。
5. Windows 下直接把 Rust bindings 输出到本目录时SpacetimeDB CLI `2.1.0` 的生成后 formatter 可能因为路径参数总长触发 `文件名或扩展名太长`;仓库脚本会先输出到短临时目录,再同步回本目录。
### 2.1.1 绑定缺文件恢复流程