Skip to content
SunBo edited this page Sep 13, 2026 · 1 revision

常见问题

Wiki 首页 · 正式文档

1. 使用前必须自己写生成脚本或启动脚本吗?

不需要。安装 sqlseed-cli 后直接使用 sqlseed 命令,安装 sqlseed-web 后直接运行 sqlseed-web。Python API 适合嵌入自己的测试流程;自定义 transform 脚本是复杂业务逻辑的可选扩展。开始使用见快速开始。

2. 安装了 sqlseed,为什么找不到 sqlseed 命令?

sqlseed Core 包提供 Python API,没有 console script。请在正在使用的 Python 环境中运行 python -m pip install sqlseed-cli,再用 sqlseed --help 检查入口。详情见 CLI 安装说明。

3. 必须安装 AI 或提供 API key 吗?

不需要。Core、CLI 基础功能和 Web 手动规则编辑、预览、生成都可以不依赖模型;CLI 生成时可用 --no-ai 明确跳过 AI。只有需要模型建议或修复规则时才安装 sqlseed-ai,并配置对应模型服务。已审阅的规则可以交给 Core 离线执行,见 AI 指南。

4. Faker 已安装,为什么仍提示 Mimesis 不可用?

Faker 是 Core 的必需依赖,Mimesis 是可选依赖,但 Python API 和 CLI 的默认 provider 仍是 mimesis。Core 无法加载所选 provider 时会警告并回退到 Base,不会自动改用 Faker。

可以在 Python 中指定 provider="faker"、fill / preview 命令中指定 --provider faker,或在 YAML 中设置 provider: faker。想使用 Mimesis,则安装 python -m pip install 'sqlseed[mimesis]'。inspect 不提供 provider 选项,最小安装时也可能显示回退提示,但仍可读取结构。Web 会拒绝不可用的已配置 provider,应选用已安装的引擎。详见安装指南。

5. SQLite 和 PostgreSQL 的所有约束都支持吗?

支持范围因数据库而异。SQLite 支持单列外键和受支持的两列复合外键;三列及以上复合外键会在生成前拒绝。PostgreSQL 当前不支持生成复合外键或跨 schema 外键关系。复杂 CHECK 和跨表业务规则可能需要显式配置,不能把规则推断或 AI 当作任意 SQL 约束求解器。完整边界见支持与维护说明。

6. 设置相同 seed 就一定能得到完全相同的数据吗?

还需要保持 schema、规则、provider 与依赖版本、时间范围和初始引用数据一致。向已填充的数据库再次追加,可能遇到 UNIQUE 冲突;配置快照也不等于数据库备份。建议在相同初始状态的数据库上重放,并检查每次结果的 count 和 errors。详见复现条件。