Skip to content
bitzorcas
EN

Reference

演示数据与种子参考

14 个平台种子表、基于 CSV 的种子填充,以及 --seed-demo 后数据库中的内容参考。

Last updated

BitzOrcas.Modern 使用基于 CSV 的种子框架填充平台系统表。种子数据作为 --init-schema / --seed-demo 命令的一部分运行——API 宿主创建所有表、审计分表,运行种子数据,然后退出不进入 web 管道。

种子填充如何工作

种子运行器

ISeedRunner 按顺序迭代已注册的 ISeedStep 实现。每个步骤从 CSV 资产文件读取并通过配置的 ORM 适配器(默认为 SqlSugar)upsert 记录。框架提供 CsvSeedReaderCsvSeedStepBase<T> 用于标准的 CSV 到实体映射。

种子数据 CSV 文件位于:

src/BuildingBlocks/BitzOrcas.Infrastructure.SqlSugar/Seeders/Assets/

每个文件遵循命名规则 {序号}-{表名}.csv —— 数字前缀控制填充顺序。

Schema 初始化模式

参数建表审计分表种子数据
--init-schema创建创建执行
--seed-demo创建创建执行(别名)
--seed-only跳过跳过执行
--no-seed创建创建跳过

14 个平台种子表

以下是 --seed-demo 时从 CSV 资产填充的系统表:

序号描述
100sys_platform_tenant平台租户(根租户和系统租户)
110sys_language支持的语言(如 zh-CN、en-US)
120sys_country国家和地区
130sys_industry_setting行业分类代码
140sys_general_code_group通用代码组(查找分类)
141sys_general_code通用代码(查找值)
142sys_general_code_text通用代码显示文本(i18n)
150sys_exchange_rate货币汇率
160sys_public_holiday各地区法定节假日
200sys_role_type角色类型定义
210sys_role系统角色(Admin、Basic 等)
220sys_module模块定义与权限
230sys_permission细粒度权限条目
240sys_role_module_permission角色-模块-权限映射

填充顺序很重要

表按数字前缀顺序填充。外键依赖被遵守——父表(如 sys_general_code_group)先于子表(如 sys_general_code)填充。

Sandbox 模块数据

除平台表外,Sandbox 模块(Notes、Greetings、Ping)提供了内置端点用于测试。这些默认不基于数据库——Notes 特性使用 ISandboxDataPort,在 API Shell 中解析为 NullSandboxDataPort(返回空结果)。配置了持久化适配器(SqlSugar 或 EF Core)后,Sandbox 端口会自动连接到真实实现。

Sandbox 端点

端点方法用途
/api/v1/pingGET健康检查 / 存活探针
/api/v1/greetingsPOST创建问候(演示命令模式)
/api/v1/notes/{id}GET按 ID 获取备忘录(演示查询模式)
/api/v1/notesPOST创建备忘录(演示写穿透端口)

添加自定义种子数据

添加自定义种子数据:

  1. Seeders/Assets/ 目录创建 CSV 文件,使用适当的序号前缀。
  2. 创建一个 CsvSeedStepBase<T> 子类,将 CSV 列映射到你的实体。
  3. ISeedRunner 注册该步骤——框架按顺序执行。

种子运行器是幂等的——每个步骤在写入前检查,因此对已填充的数据库重新运行是安全的。

相关