SpacetimeDB 2.13.0 常用 CLI 命令详解

SpacetimeDB 2.13.0 CLI 命令详解:init/build/publish、call/sql/subscribe、logs/describe/list/env、lock/unlock/rename/delete、server/version/generate/mcp/auth 全命令覆盖,逐参数说明并附 2026-10-23 实测真实回显(含 -y= 语法、配置层解析错乱、锁定库 403 等排障实录)。

SpacetimeDBSpacetimeDB2026/10/24

SpacetimeDB 2.13.0 常用 CLI 命令详解

目标:完整覆盖 spacetime CLI 2.13.0 的命令体系——发布(publish/init/build)、调用与查询(call/sql/subscribe)、观测(logs/describe/list/env)、生命周期(lock/unlock/rename/delete)、服务器与版本管理(server/version/login)——每条命令给出语法、参数表与真实执行回显(2026-10-23 实测照抄,失败样例同样保留)。命令背景与配置语义见《SpacetimeDB 2.13.0 配置参数详解》。

一、环境信息

项目内容
CLI 版本2.13.0(spacetime --version → spacetimedb tool version 2.13.0; spacetimedb-lib version 2.13.0; rev: 08e1aba133671f9c631c6e70133a82faa0e7b283)
操作系统Ubuntu 22.04 LTS(x86_64)
目标服务器本机 standalone 实例(昵称 local,http://127.0.0.1:3000)
测试数据库quickstart(Rust quickstart 模板,含 person 表与 add/say_hello reducer,identity c200342892f5aa39760975a3c67e8fa02d3a03c1991f3ddbd7ca771168129e19)
验证日期2026-10-23

⚠️ 通用约定:本篇命令多带 --server local 显式指定目标服务器。原因(实测踩坑):在项目目录内执行时 CLI 会读取 spacetime.json/spacetime.local.json 配置层——模板生成的 spacetime.json 里 server = "maincloud"、spacetime.local.json 里 database = "quickstart-p4ue7",导致同名命令命中了 maincloud 或带随机后缀的库名(报错实录见 11.1)。脚本化操作建议始终显式 -s + --no-config 或在项目目录外执行。

⚠️ 通用提示:大量子命令带 WARNING: This command is UNSTABLE and subject to breaking changes.(UNSTABLE 标记),2.x 阶段这些命令的输出与参数仍可能变化,升级后应回归测试。

二、命令总览

spacetime --help 输出的完整命令清单(2.13.0):

分组命令用途
项目与发布init / build / publish / dev初始化项目 / 编译模块 / 发布数据库 / 开发模式
调用与查询call / sql / subscribe调 reducer(写)/ SQL 查询(读)/ 订阅推送
观测logs / describe / list / env模块日志 / schema 描述 / 库清单 / 环境变量
生命周期lock / unlock / rename / delete删除保护 / 改名 / 删除
连接管理login / logout / server登录身份 / 服务器配置
客户端生成generate生成 C#/TS/Rust/Unreal 客户端代码
服务端start / mcp / auth启动 standalone / MCP 服务 / SpacetimeAuth 管理
版本管理version多版本 install/use/upgrade/uninstall

三、项目初始化与发布

3.1 spacetime init(初始化模块项目)

语法:spacetime init [OPTIONS] [PROJECT_NAME],关键选项:--lang <rust|csharp|typescript|cpp>、--server-only、--local(本地部署而非 Maincloud)、--non-interactive、-t/--template <ID|owner/repo|URL>。

实测(非交互环境直接跑会因登录提示失败):

$ spacetime init --lang rust quickstart
Initializing project from template...
You are not logged in to SpacetimeDB.
Error: IO error: not a terminal

Caused by:
    not a terminal

加 --local --non-interactive 成功:

$ spacetime init --lang rust --local --non-interactive quickstart
Initializing project from template...
Setting up Rust server...
Warning: Git is not installed. You should install git using your package manager.

Project initialized successfully!
✓ Created quickstart/spacetime.json
✓ Created quickstart/spacetime.local.json

Next steps:
  cd quickstart
  # Follow the template's README for setup instructions

Learn more: https://spacetimedb.com/docs
EXIT=0

⚠️ 排障实录:--non-interactive 缺省时模板拉取要走登录流程,无终端环境直接失败;自动化工序必须三件套 --local --non-interactive(或不联网的本地模板)。Warning: Git is not installed 仅影响模板内置的 git 初始化,不阻塞项目生成。

3.2 spacetime build(编译模块为 WASM)

语法:spacetime build [OPTIONS],选项:-p/--module-path、--lint-dir(默认 src,扫非功能性 print)、-d/--debug(debug 构建,本地迭代提速不推荐 CI)、--dotnet-version。

Rust 模块实测(首次构建下载依赖后):

$ spacetime build
...(大量 cargo 依赖编译输出,略)...
    Finished `release` profile [optimized] target(s) in 0.02s
Optimising module with wasm-opt...
Could not find wasm-opt to optimise the module.
For best performance install wasm-opt from https://github.com/WebAssembly/binaryen/releases.
Continuing with unoptimised module.
Build finished successfully.

⚠️ 排障实录:①未装 wasm-opt 时 CLI 警告并以未优化模块继续(性能损失,建议从 binaryen releases 安装);②Rust 模块构建前置 rustup target add wasm32-unknown-unknown,缺失时 publish 阶段报 "wasm32-unknown-unknown target is not installed"。

3.3 spacetime publish(发布数据库,最常用写入口)

语法:spacetime publish [OPTIONS] [name|identity]。库名规则:/^[a-z0-9]+(-[a-z0-9]+)*$/(小写字母数字,短横分隔)。关键参数:

参数说明
-s, --server <server>目标服务器昵称/域名/URL
-c, --delete-data[=<always|on-conflict|never>]发布到既有库时先销毁数据(危险项)
--break-clients允许破坏性变更(跳过 BREAK 提示,但不允许删数据)
--anonymous匿名身份执行
-p/--module-path、-b/--bin-path、-j/--js-path模块项目路径 / 预编译 wasm / JS 模块(UNSTABLE)
--parent / --organization挂父库(继承团队权限)/ 挂组织(仅建库时)
-y, --yes[=<值>]跳过确认,可选 all/remote/migrate/break-clients/skip-login/delete-data,值必须 = 粘连
--env-only / --unset-env <KEY> / --replace-env只更新环境变量 / 删除键 / 全量替换
--no-config / --env <ENV>忽略 spacetime.json / 选择配置层

实测成功回显:

$ spacetime publish --server local -y=skip-login quickstart
Using configuration from /data/quickstart/spacetime.json
Using configuration from /data/quickstart/spacetime.local.json
Publishing module /data/quickstart/spacetimedb to database 'quickstart'
    Finished `release` profile [optimized] target(s) in 0.02s
Optimising module with wasm-opt...
Could not find wasm-opt to optimise the module.
For best performance install wasm-opt from https://github.com/WebAssembly/binaryen/releases.
Continuing with unoptimised module.
Build finished successfully.
Uploading to local => http://127.0.0.1:3000
Checking for breaking changes...
Publishing module...
Created new database with name: quickstart, identity: c200342892f5aa39760975a3c67e8fa02d3a03c1991f3ddbd7ca771168129e19

⚠️ 排障实录(-y 传参语法):-y 的取值必须用 = 粘连。实测写 -y skip-login quickstart 时 skip-login 被当成库名、quickstart 成多余参数:error: unexpected argument 'quickstart' found。正确写法 -y=skip-login quickstart(帮助原文即有此约定:The value must be attached with '=' (so --yes my-db treats my-db as the database name))。

四、调用与查询

4.1 spacetime call(调用 reducer)

语法:spacetime call [OPTIONS] [DATABASE] <FUNCTION_NAME> [ARGUMENTS...];选项:-s/--server、--anonymous、-y、--no-config。

实测(插入两行,成功时静默退出码 0):

$ spacetime call --server local quickstart add '"Alice"'
WARNING: This command is UNSTABLE and subject to breaking changes.

$ spacetime call --server local quickstart add '"Bob"'
WARNING: This command is UNSTABLE and subject to breaking changes.

参数是 JSON 字面量:字符串 '"Alice"'、数字 42、对象 '{"k":1}'。

失败样例(参数个数不符,服务端回显签名,实测照抄):

$ spacetime call --server local quickstart add
WARNING: This command is UNSTABLE and subject to breaking changes.

Error: Invalid arguments provided for reducer `add` for database `quickstart` resolving to identity `c200342892f5aa39760975a3c67e8fa02d3a03c1991f3ddbd7ca771168129e19`.

The reducer has the following signature:
	add(name: String)

Caused by:
    0: Response text: invalid arguments for reducer add: .: invalid arguments for function add: .: .: invalid length 0, expected reducer args for add with 1 elements at line 1 column 2
    1: HTTP status client error (400 Bad Request) for url (http://127.0.0.1:3000/v1/database/c200342892f5aa39760975a3c67e8fa02d3a03c1991f3ddbd7ca771168129e19/call/add)

4.2 spacetime sql(SQL 查询)

语法:spacetime sql [OPTIONS] [DATABASE] <QUERY>;选项:--interactive(交互式 SQL 提示符)、--format <text|json>、--confirmed <true|false>(仅已确认事务的更新)、-s/--server。

文本格式实测:

$ spacetime sql --server local quickstart "SELECT * FROM person"
WARNING: This command is UNSTABLE and subject to breaking changes.

 name
---------
 "Alice"
 "Bob"

WHERE 过滤实测:

$ spacetime sql --server local quickstart "SELECT * FROM person WHERE name = 'Alice'"
WARNING: This command is UNSTABLE and subject to breaking changes.

 name
---------
 "Alice"

JSON 格式实测(含 schema/耗时/统计):

$ spacetime sql --server local --format json quickstart "SELECT * FROM person"
WARNING: This command is UNSTABLE and subject to breaking changes.

[{"schema":{"elements":[{"name":{"some":"name"},"algebraic_type":{"String":[]}}]},"rows":[["Alice"],["Bob"]],"total_duration_micros":94,"stats":{"rows_inserted":0,"rows_deleted":0,"rows_updated":0}}]

失败样例(表不存在/私有表,实测照抄):

$ spacetime sql --server local quickstart "SELECT * FROM nosuchtable"
WARNING: This command is UNSTABLE and subject to breaking changes.

Error: no such table: `nosuchtable`. If the table exists, it may be marked private.

Caused by:
    HTTP status client error (400 Bad Request) for url (http://127.0.0.1:3000/v1/database/c200342892f5aa39760975a3c67e8fa02d3a03c1991f3ddbd7ca771168129e19/sql)

💡 技术拓展:SQL 是客户端与服务端交换数据的通用载体——查询走 spacetime sql(即时求值),订阅走 spacetime subscribe(持续求值推送增量)。两者语法同源但能力不同:前者适合运维点查,后者是客户端 SDK 的状态镜像基础。

4.3 spacetime subscribe(订阅并接收增量推送)

语法:spacetime subscribe [OPTIONS] [DATABASE] <QUERY> [QUERY...];选项:-n/--num-updates(收几条后退出)、-t/--timeout(秒,超时未收满 -n 条是错误)、--print-initial-update(打印初始快照)、--confirmed、-s/--server。

实测(-n 1 -t 5 --print-initial-update,先收到初始快照,5 秒内无新更新则超时报错——正是该参数语义:Timing out before receiving -n updates is an error):

$ spacetime subscribe --server local quickstart "SELECT * FROM person" -n 1 -t 5 --print-initial-update
WARNING: This command is UNSTABLE and subject to breaking changes.

{"person":{"deletes":[],"inserts":[{"name":"Alice"},{"name":"Bob"}]}}
timed out after 5s
Error: subscription timed out after 5s after receiving 0/1 updates

初始快照的 {"表名":{"deletes":[],"inserts":[...]}} 结构即 SDK 在本地镜像缓存的增量协议;无新事务时(-n 未收满)按超时报错退出。

五、观测与检查

5.1 spacetime logs(模块日志)

语法:spacetime logs [OPTIONS] [database];选项:-n/--num-lines、-f/--follow、--format <text|json>、-l/--level <trace|debug|info|warn|error|panic>(≥该级别)、--level-exact、-s/--server。

实测(执行过 add 两次与 say_hello 后):

$ spacetime logs --server local quickstart -n 20
2026-10-23T17:15:47.240384Z  INFO: Creating table `person`
2026-10-23T17:15:47.240819Z  INFO: Invoking `init` reducer
2026-10-23T17:15:47.241016Z  INFO: Database initialized
2026-10-23T17:17:49.354767Z  INFO: say_hello src/lib.rs:31: Hello, Alice!
2026-10-23T17:17:49.354780Z  INFO: say_hello src/lib.rs:31: Hello, Bob!
2026-10-23T17:17:49.354781Z  INFO: say_hello src/lib.rs:33: Hello, World!

5.2 spacetime describe(schema 描述)

语法:spacetime describe [OPTIONS] [DATABASE] [ENTITY_TYPE [ENTITY_NAME]];ENTITY_TYPE ∈ {tables, views, reducers, procedures, routes, env, types};选项:--format <text|json>、--json(= --format json)、--anonymous、-s/--server。

整体描述实测:

$ spacetime describe --server local quickstart
WARNING: This command is UNSTABLE and subject to breaking changes.

Tables
  person (public)
    Columns:
      name  String

Reducers
  add(name: String)
  identity_connected()  [lifecycle: client_connected] [private]
  identity_disconnected()  [lifecycle: client_disconnected] [private]
  init()  [lifecycle: init] [private]
  say_hello()

只看表实测(describe quickstart tables,还可再精确到 describe quickstart tables person,输出同下):

$ spacetime describe --server local quickstart tables
WARNING: This command is UNSTABLE and subject to breaking changes.

person (public)
  Columns:
    name  String

JSON 输出实测(--json 可看到 reducer 可见性 ClientCallable/Private、ok/err 返回类型、生命周期绑定 LifeCycleReducers、表访问性 Public 等,片段):

$ spacetime describe --server local --json quickstart
WARNING: This command is UNSTABLE and subject to breaking changes.

{
  "sections": [
    { "Typespace": { "types": [ { "Product": { "elements": [
        {"name":{"some":"name"},"algebraic_type":{"String":[]}} ] } } ] } },
    { "Types": [ { "source_name": {"scope":[],"source_name":"Person"},
                   "ty":0, "custom_ordering": true } ] },
    { "Tables": [ { "source_name":"person", "product_type_ref":0,
        "primary_key":[], "indexes":[], "constraints":[], "sequences":[],
        "table_type":{"User":[]}, "table_access":{"Public":[]},
        "default_values":[], "is_event":false } ] },
    ...(Reducers / LifeCycleReducers / ExplicitNames 节,结构同上)
  ]
}

⚠️ 参数顺序坑(实测):describe 把第一个位置参数解析为 [DATABASE],但当项目配置层生效时语义易混乱。实测在项目目录内跑 spacetime describe quickstart tables 报 Error: Invalid entity_type 'quickstart'. Expected one of: env, procedures, reducers, routes, tables, types, views.——配置层已提供库名,第一个位置参数被当成 ENTITY_TYPE。解决:显式 -s 并在项目目录外执行,或加 --no-config。

5.3 spacetime list(库清单)

语法:spacetime list [OPTIONS](无位置参数);列出当前身份名下的库。

$ spacetime list --server local
WARNING: This command is UNSTABLE and subject to breaking changes.

Associated databases for user c200b32b51765700c0711bd82c62d8a1c006ba880f2ded75bd69ef800d9524bb:

 Database Name(s) | Identity
------------------+------------------------------------------------------------------
 quickstart       | c200342892f5aa39760975a3c67e8fa02d3a03c1991f3ddbd7ca771168129e19

5.4 spacetime env(数据库环境变量)

语法:spacetime env <get|list>;get 读单个值,list 列出键值。

$ spacetime env list --server local quickstart
 key | value
-----+-------

(quickstart 模板未声明环境变量,空表为正常回显。写入走 spacetime publish --env-only --key=value ...,语义见 publish 帮助:--env-only 不构建不重传模块、--unset-env 删键、--replace-env 全量替换,宿主端按模块声明原子校验。)

5.5 spacetime login show(当前身份)

$ spacetime login show
You are logged in as c200b32b51765700c0711bd82c62d8a1c006ba880f2ded75bd69ef800d9524bb

spacetime login 支持 --token <token>(直接用 token)、--no-browser(无浏览器环境)、--auth-host(自定义认证主机);本机 standalone 场景 token 由服务端自动签发并存入 ~/.config/spacetime/cli.toml(见配置篇第六章)。

六、数据库生命周期

6.1 spacetime lock / spacetime unlock(删除保护)

帮助原文点明定位:"This is a safety mechanism to protect production databases from accidental deletion."(生产库防误删保护)。

$ spacetime lock --server local quickstart
Database c200342892f5aa39760975a3c67e8fa02d3a03c1991f3ddbd7ca771168129e19 is now locked. It cannot be deleted until unlocked.

$ spacetime delete --server local -y quickstart
Skipping confirmation due to --yes
Error: HTTP status client error (403 Forbidden) for url (http://127.0.0.1:3000/v1/database/c200342892f5aa39760975a3c67e8fa02d3a03c1991f3ddbd7ca771168129e19)

$ spacetime unlock --server local quickstart
Database c200342892f5aa39760975a3c67e8fa02d3a03c1991f3ddbd7ca771168129e19 is now unlocked.

⚠️ 排障实录:对锁定库 delete 的失败形态是服务端 403 Forbidden,CLI 不提示"已锁定"原因——生产上见到删除 403 应先检查 lock 状态。

6.2 spacetime rename(改库名)

语法:spacetime rename [OPTIONS] --to <new-name> <database-identity>——位置参数是 identity 不是库名(identity 从 spacetime list 获取)。

$ spacetime rename --server local -y c200342892f5aa39760975a3c67e8fa02d3a03c1991f3ddbd7ca771168129e19 --to quickstart-db
Name set to quickstart-db for identity c200342892f5aa39760975a3c67e8fa02d3a03c1991f3ddbd7ca771168129e19.

$ spacetime list --server local
...(略)
 quickstart-db    | c200342892f5aa39760975a3c67e8fa02d3a03c1991f3ddbd7ca771168129e19

$ spacetime sql --server local quickstart-db "SELECT * FROM person"   # 改名后数据照常可查
$ spacetime rename --server local -y c200342892f5aa39760975a3c67e8fa02d3a03c1991f3ddbd7ca771168129e19 --to quickstart
Name set to quickstart for identity c200342892f5aa39760975a3c67e8fa02d3a03c1991f3ddbd7ca771168129e19.

改名冲突样例(改回占用中的名字,实测照抄):

Error: Cannot rename to quickstart because it already is in use.

6.3 spacetime delete(删库)

语法:spacetime delete [OPTIONS] [database];-y 跳过确认(回显 Skipping confirmation due to --yes)。锁定库删除 403(见 6.1);解锁后删除正常。删除不可逆,生产操作前先 describe 备份 schema、sql 导出关键数据。

七、服务器连接管理(spacetime server)

子命令:list / set-default / add / remove / fingerprint / ping / edit / clear。实测:

$ spacetime server list
WARNING: This command is UNSTABLE and subject to breaking changes.

 DEFAULT  HOSTNAME                   PROTOCOL  NICKNAME
     ***  maincloud.spacetimedb.com  https     maincloud
          127.0.0.1:3000             http      local

$ spacetime server ping local
WARNING: This command is UNSTABLE and subject to breaking changes.

Server is online: http://127.0.0.1:3000

$ spacetime server set-default local
WARNING: This command is UNSTABLE and subject to breaking changes.

Saving config to /root/.config/spacetime/cli.toml.

server add(语法 server add [OPTIONS] --url <url> <name>,昵称为位置参数):

$ spacetime server add --url http://127.0.0.1:3000 demo --no-fingerprint
WARNING: This command is UNSTABLE and subject to breaking changes.

Error: Server already configured for host: 127.0.0.1:3000

⚠️ 排障实录:同一 host 只能有一个昵称(local 已占 127.0.0.1:3000),加第二个昵称报 Server already configured for host;删除不存在的昵称报 No such saved server configuration: demo 并附正确 add 示例。server set / server url / server default / server unset 均不是合法子命令(clap 直接报 unrecognized,其中两个还有纠错提示 tip: some similar subcommands exist: 'edit', 'set-default'——改名用 server edit,设默认用 server set-default)。

server fingerprint(保存服务器公钥指纹,首次交互确认):

$ spacetime server fingerprint local
WARNING: This command is UNSTABLE and subject to breaking changes.

No saved fingerprint for server local. New fingerprint:
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETMibbisWpV//VDjlnLEP9BIPaxqd
L9s0/1diD51v+RgTdnwB0cUqH9I2yBZJdq1OnKVZBkkrNbuFGrYWFlpckA==
-----END PUBLIC KEY-----

Continue? [y/N]Error: Aborted

(脚本化环境无 TTY,交互确认自动 Abort;用 -y 跳过。指纹机制防中间人——首次连接记录服务器公钥,后续校验。)server clear 删除本地数据目录全部库数据(--data-dir 可指定目录,危险操作)。

八、客户端代码生成(spacetime generate)

语法:generate [DATABASE] --lang <LANG> [--module-path|--bin-path|--js-path] [--out-dir|--uproject-dir];--lang ∈ {csharp, typescript, rust, unrealcpp};另有 --namespace(默认 SpacetimeDB.Types)、--dotnet-version、--include-private(把私有表/函数也生成进代码)。

实测(在模块项目目录内,生成 TS 客户端绑定):

$ spacetime generate --lang typescript --out-dir /data/gen-ts
Using configuration from /data/quickstart/spacetime.json
Using configuration from /data/quickstart/spacetime.local.json
Generating TypeScript module bindings for module /data/quickstart/spacetimedb
    Finished `release` profile [optimized] target(s) in 0.02s
Optimising module with wasm-opt...
Could not find wasm-opt to optimise the module.
For best performance install wasm-opt from https://github.com/WebAssembly/binaryen/releases.
Continuing with unoptimised module.
Build finished successfully.
Writing file /data/gen-ts/person_table.ts
Writing file /data/gen-ts/add_reducer.ts
Writing file /data/gen-ts/say_hello_reducer.ts
Writing file /data/gen-ts/index.ts
Creating directory /data/gen-ts/types
Writing file /data/gen-ts/types/reducers.ts
Creating directory /data/gen-ts/types
Writing file /data/gen-ts/types/procedures.ts
Writing file /data/gen-ts/types.ts
Generate finished successfully.

⚠️ 排障实录:generate 没有 --server 参数(帮助 Usage 无此项;实测 --server local 报 error: unexpected argument '--server' found)。它检查的是本地模块构建产物(--module-path/--bin-path),发布到哪个服务器与之无关。

九、服务端与 AI 集成

9.1 spacetime start(启动 standalone 服务端)

见配置篇第三章逐参数详解;B1 安装指南含 systemd 托管全文。要点回显:默认 0.0.0.0:3000、前台运行、同数据目录单实例锁。

9.2 spacetime mcp(把数据库暴露给 AI agent)

帮助原文:"Serve SpacetimeDB to MCP-aware agents and editors over stdio."(以 MCP stdio 服务形式供 agent/编辑器接入)。语法 spacetime mcp [OPTIONS] [database]:不传库名时服务整个服务器(每个工具带 database 参数),或用 SPACETIMEDB_DB_NAME 环境变量指定单库;选项 -s/--server、--anonymous。运行后 CLI 进程以 stdio MCP 协议对外服务,把它配进编辑器/agent 的 MCP 配置即可让 agent 对该库执行查询与调用,认证复用 CLI 的当前身份。

9.3 spacetime auth(SpacetimeAuth 管理)

子命令组 config / idp / client:管理数据库级 OpenID Connect 身份提供方(idp)与 OAuth 客户端。配合 v2.12.0 起仅接受非对称算法 JWT 的安全策略,用于接入自有 IdP。

十、版本管理(spacetime version)

子命令:list [--all] / use <VERSION> / install <VERSION> [--edition standalone] [--use] [-y] / upgrade(升级并切到最新)/ uninstall <VERSION> [-y]。完整实测(安装 2.12.0、双版本切换)见《SpacetimeDB 2.13.0 安装指南》第九章。

十一、排障实录汇总

11.1 项目配置层(spacetime.json)导致的解析错乱

模板在项目目录生成两层配置:spacetime.json(server = "maincloud")与 spacetime.local.json(database = "quickstart-p4ue7",库名带随机后缀避免与 Maincloud 冲突)。在项目目录内执行命令时它们自动生效,实测产生三类「莫名其妙」:

  1. spacetime call quickstart ... 报 Error: failed to find database quickstart-p4ue7(CLI 用配置层的库名去解析);
  2. spacetime env list quickstart(未带 -s)请求打到了 maincloud(401 Unauthorized,因配置层 server=maincloud 且本地身份对 maincloud 无权限);
  3. spacetime describe quickstart tables 报 Invalid entity_type 'quickstart'(配置层提供了库名,位置参数被顺延为 ENTITY_TYPE)。

对策:脚本与交互统一显式 --server local 并在项目目录外执行,或加 --no-config 忽略配置层。

11.2 -y 取值必须 = 粘连

spacetime publish -y skip-login quickstart → error: unexpected argument 'quickstart' found;正确 -y=skip-login quickstart(详见 3.3)。

11.3 锁定库删除 403、rename 冲突、server add host 唯一

见 6.1 / 6.2 / 第七章,均为服务端真实拒绝形态,CLI 报错不含业务解释,按本节索引排查。

11.4 模块编译链前置

Rust 模块需 rustup target add wasm32-unknown-unknown;建议安装 wasm-opt(binaryen)获得模块优化;C# 模块可用 --native-aot(实验性,Linux 需 .NET 10)。

十二、参考链接

资料链接
本组件认知篇《SpacetimeDB 2.13.0 介绍与选型指南》
本组件安装篇《SpacetimeDB 2.13.0 安装指南》
本组件配置篇《SpacetimeDB 2.13.0 配置参数详解》
官方 CLI 文档https://spacetimedb.com/docs/cli
消息队列对照组(传统架构组件)《BlazingMQ 介绍与选型指南》