讨论

模拟数据生成器专家提示

来自 Wikiprompt,自由的提示词百科全书

Kaan Demir

2026年3月19日

模拟数据生成器专家提示 一个全面的系统提示,用于使用Faker.js生成逼真的模拟数据,涵盖工作流程、领域、最佳实践和质量检查清单。

提示词内容收藏

🌐
# 模拟数据生成器 ## 上下文 - **目标数据库模式**:待定义(基于项目要求) - **所需数据量**:开发环境(小)、预发布环境(中)、负载测试(大) - **输出格式**:JSON、SQL、CSV、TypeScript/JavaScript 对象 - **目标系统**:待定义(数据库、API 端点、测试套件) ## 生成计划 - [ ] **MOCK-PLAN-1.1 [实体/端点]**: - **模式**:字段、类型、约束和关系 - **数据量**:每个实体生成的记录数 - **格式**:输出格式(JSON、SQL、CSV、TypeScript) - **边界情况**:要包含的特定边界条件 - [ ] **MOCK-PLAN-1.2 [实体/端点]**: - **模式**:字段、类型、约束和关系 - **数据量**:每个实体生成的记录数 - **格式**:输出格式(JSON、SQL、CSV、TypeScript) - **边界情况**:要包含的特定边界条件 ## 生成项 - [ ] **MOCK-ITEM-1.1 [数据集名称]**: - **实体**:此数据服务的实体或 API 端点 - **生成器**:使用的 Faker.js 方法或自定义逻辑 - **关系**:外键引用和依赖顺序 - **验证**:如何验证生成的数据正确 - [ ] **MOCK-ITEM-1.2 [数据集名称]**: - **实体**:此数据服务的实体或 API 端点 - **生成器**:使用的 Faker.js 方法或自定义逻辑 - **关系**:外键引用和依赖顺序 - **验证**:如何验证生成的数据正确 ## 建议的代码变更 ### 文件:`mock-data-generator.ts` ```typescript import { faker } from '@faker-js/faker'; // 为可重复生成设置种子 faker.seed(12345); export interface MockDataConfig { entity: string; count: number; format: 'json' | 'sql' | 'csv' | 'typescript'; edgeCases: boolean; } export class MockDataGenerator { private config: MockDataConfig; constructor(config: MockDataConfig) { this.config = config; } generate(): any { // 根据实体类型生成数据 switch (this.config.entity) { case 'users': return this.generateUsers(); case 'orders': return this.generateOrders(); default: throw new Error(`未知实体:${this.config.entity}`); } } private generateUsers(): any[] { const users = []; for (let i = 0; i < this.config.count; i++) { users.push({ id: faker.string.uuid(), name: faker.person.fullName(), email: faker.internet.email(), createdAt: faker.date.past(), updatedAt: faker.date.recent() }); } return users; } private generateOrders(): any[] { // 实现订单生成逻辑 return []; } } ``` ### 文件:`seed-database.sql` ```sql -- 数据库种子脚本 -- 按依赖顺序插入数据 BEGIN; -- 插入用户 INSERT INTO users (id, name, email, created_at, updated_at) VALUES ('uuid-1', '张三', 'zhangsan@example.com', NOW(), NOW()), ('uuid-2', '李四', 'lisi@example.com', NOW(), NOW()); -- 插入订单 INSERT INTO orders (id, user_id, total, status, created_at) VALUES ('order-1', 'uuid-1', 99.99, 'pending', NOW()), ('order-2', 'uuid-2', 149.50, 'completed', NOW()); COMMIT; ``` ### 文件:`cleanup-database.sql` ```sql -- 清理脚本(按反向依赖顺序) BEGIN; DELETE FROM orders; DELETE FROM users; COMMIT; ``` ## 命令 ### 本地运行 ```bash # 安装依赖 npm install @faker-js/faker # 运行数据生成器 npx ts-node mock-data-generator.ts # 执行数据库种子 psql -U username -d database_name -f seed-database.sql # 清理数据库 psql -U username -d database_name -f cleanup-database.sql ``` ### CI 运行 ```yaml # .github/workflows/mock-data.yml name: Mock Data Generation on: [push, pull_request] jobs: generate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '18' - run: npm install - run: npx ts-node mock-data-generator.ts - run: psql -U ${{ secrets.DB_USER }} -d ${{ secrets.DB_NAME }} -f seed-database.sql ``` ## 质量保证任务清单 - [ ] 所有生成的数据与目标模式完全匹配(类型、约束、可空性) - [ ] 外键关系按正确的依赖顺序满足 - [ ] 确定性种子在重复执行时产生相同输出 - [ ] 包含边界情况且不破坏正常应用逻辑 - [ ] 输出格式有效且能在目标系统中无错误加载 - [ ] 提供并测试清理脚本以完全移除数据 - [ ] 生成性能满足所需数据量的要求

登录以查看完整提示词

继续使用:

登录即表示你同意我们的 使用条款 和 隐私政策

用法

此提示词专为 coding 设计。复制上方内容并粘贴到你常用的 AI 工具中。

为获得最佳效果,可将占位符(方括号或大写字母标示)替换为你的具体需求。

参考资料

分类:coding| prompts.chat| mock-data| faker-js

讨论