尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
如何使用Prisma tRPC Generator实现多租户与软删除功能
如何使用Prisma tRPC Generator实现多租户与软删除功能【免费下载链接】prisma-trpc-generatorPrisma 2 generator to emit fully implemented tRPC routers项目地址: https://gitcode.com/gh_mirrors/pr/prisma-trpc-generatorPrisma tRPC Generator是一款强大的代码生成工具能够自动生成基于Prisma模型的tRPC路由帮助开发者快速构建类型安全的API。本文将详细介绍如何利用该工具实现多租户架构与软删除功能让你的应用具备企业级数据隔离与数据恢复能力。多租户与软删除现代应用的必备功能在SaaS应用开发中多租户架构能够让多个客户租户共享同一应用实例同时保持数据隔离而软删除功能则允许删除数据时仅标记状态而非真正删除为数据恢复提供可能。Prisma tRPC Generator通过简洁的配置即可实现这两项关键功能大幅减少重复代码。多租户架构的核心价值数据隔离确保不同租户数据完全隔离满足合规要求资源共享降低服务器资源成本提高运维效率按需扩展支持租户级别的功能定制与资源分配软删除的业务优势数据安全防止误删除导致的数据丢失审计追踪保留完整的操作历史记录业务分析可基于历史数据进行趋势分析准备工作环境搭建与依赖安装首先确保你的开发环境满足以下要求Node.js 14.0Prisma 2.0tRPC 9.0通过以下命令克隆项目仓库并安装依赖git clone https://gitcode.com/gh_mirrors/pr/prisma-trpc-generator cd prisma-trpc-generator pnpm install实现多租户功能的完整步骤1. 配置多租户模型在Prisma schema文件中添加租户标识字段通常命名为tenantId// prisma/schema.prisma model Post { id Int id default(autoincrement()) title String content String? tenantId Int // 多租户标识 createdAt DateTime default(now()) updatedAt DateTime updatedAt deletedAt DateTime? // 软删除标识 }2. 启用多租户生成器在生成器配置中添加多租户选项// prisma/trpc.config.json { generator: { tenantKey: tenantId, softDeleteKey: deletedAt } }3. 使用多租户服务生成的服务会自动处理租户隔离无需手动添加过滤条件// examples/use-services-tenancy.ts async function runForTenant(prisma: PrismaClient, tenantId: number) { const ctx: Context { tenantId: number } { prisma, user: null, tenantId }; const s makeServices(ctx); // 自动应用租户过滤 const posts await s.post.findMany({}); console.log(Tenant ${tenantId} posts count:, posts.length); }配置软删除功能1. 设置软删除字段在数据模型中添加软删除字段通常命名为deletedAt// prisma/schema.prisma model Post { // ...其他字段 deletedAt DateTime? db.DateTime // 软删除时间戳 }2. 软删除查询示例生成的tRPC路由会自动排除已删除的记录// 默认查询不会返回软删除数据 const activePosts await s.post.findMany({}); // 如需包含软删除数据使用withDeleted选项 const allPosts await s.post.findMany({}, { withDeleted: true });3. 软删除实现原理生成器通过中间件自动处理软删除逻辑// src/prisma-generator.ts if (cfg.softDeleteKey) { // 删除操作转为更新 delete data[cfg.softDeleteKey]; // 查询时自动过滤已删除数据 input.where[cfg.softDeleteKey] null; }多租户与软删除的路由实现Prisma tRPC Generator会为每个模型生成完整的CRUD路由自动应用租户隔离和软删除过滤。以下是生成的路由示例从上图可以看到生成的路由包含了各种数据库操作方法所有操作都会自动考虑租户上下文和软删除状态确保数据安全与隔离。测试多租户与软删除功能项目提供了专门的测试文件来验证多租户和软删除功能// tests/feature-tenancy-soft-delete.test.ts describe(feature: tenancy soft-delete hooks, () { const outDir generateRouters(tenancy); // 测试用例验证租户隔离和软删除行为 });运行测试命令pnpm test tests/feature-tenancy-soft-delete.test.ts高级配置与最佳实践自定义租户标识符如果需要使用不同的租户标识字段名可在配置中自定义// src/helpers.ts interface GeneratorConfig { softDeleteKey?: string; // 自定义软删除字段名 tenantKey?: string; // 自定义租户字段名 }性能优化建议为租户字段和软删除字段添加索引对大型租户数据实现分表策略使用缓存减少重复查询安全注意事项始终在服务端验证租户身份防止越权访问定期清理真正不再需要的软删除数据对敏感操作进行审计日志记录总结通过Prisma tRPC Generator开发者可以轻松实现多租户和软删除功能大幅减少样板代码专注于业务逻辑开发。本文介绍的方法已经在实际项目中得到验证你可以直接参考examples/use-services-tenancy.ts中的示例代码快速集成到自己的项目中。无论是构建SaaS平台还是企业内部系统多租户与软删除都是提升系统安全性和可靠性的重要手段而Prisma tRPC Generator让这些复杂功能的实现变得简单高效。【免费下载链接】prisma-trpc-generatorPrisma 2 generator to emit fully implemented tRPC routers项目地址: https://gitcode.com/gh_mirrors/pr/prisma-trpc-generator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

5分钟搞定Windows网络日志监控:Visual Syslog Server终极配置指南

5分钟搞定Windows网络日志监控:Visual Syslog Server终极配置指南

5分钟搞定Windows网络日志监控:Visual Syslog Server终极配置指南 【免费下载链接】visualsyslog Syslog Server for Windows with a graphical user interface 项目地址: https://gitcode.com/gh_mirrors/vi/visualsyslog 还在为网络设备日志分散、难以集中…

📅 2026/9/25 2:03:46
终极指南:用FanControl彻底解决Windows电脑风扇控制难题

终极指南:用FanControl彻底解决Windows电脑风扇控制难题

终极指南:用FanControl彻底解决Windows电脑风扇控制难题 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/…

📅 2026/10/11 4:37:12
Snap Hutao:三分钟掌握原神数据管理的智能工具箱

Snap Hutao:三分钟掌握原神数据管理的智能工具箱

Snap Hutao:三分钟掌握原神数据管理的智能工具箱 【免费下载链接】Snap.Hutao 实用的开源多功能原神工具箱 🧰 / Multifunctional Open-Source Genshin Impact Toolkit 🧰 项目地址: https://gitcode.com/GitHub_Trending/sn/Snap.Hutao …

📅 2026/9/12 14:50:06
MORE NEWS

更多资讯

📰

北票蓝翔技校电工证怎么转异地 郑州报考避坑指南

北票蓝翔技校电工证怎么转异地 郑州报考避坑指南 之前考的证在外省能不能转过来?这个问题几乎每个在外地工作的电工都问过,尤其是那些在郑州金水区工作的应届工程类毕业生。很多人拿着外地考的电工证,想在本地继续从事相关工作,但不知道怎么操作,更怕走…

📰

沙井考电工证值不值得考?手把手教你避开这些坑

沙井考电工证值不值得考?手把手教你避开这些坑 现在找工作,没有电工证根本不行,尤其是沙井这边的建筑工地,电工证几乎是入门门槛。你可能还在犹豫:**沙井考电工证值不值得考?**别再纠结了,下面从报考到考试,再到上岗,给你一套完整的攻略,帮你少…

📰

焊工技师证需要电工证内部消息:工地太忙根本没时间复习考试怎么办

焊工技师证需要电工证内部消息:工地太忙根本没时间复习考试怎么办 工地太忙根本没时间复习考试,这几乎是每个项目现场管理员的真实写照。特别是现在行业监管越来越严格,焊工技师证是否需要电工证成了大家热议的话题。不少工友都问:“焊工技师证需要电工证…

📰

小白考电工证流程图 上岗必备全流程解析

小白考电工证流程图 上岗必备全流程解析 之前考的证在外省能不能转过来?这个问题困扰了太多人,尤其是那些在外地打工、换城市工作的人。电工证是很多工地、厂矿、施工现场 上岗必备…

📰

电工证在哪里查询等级与邹远扬电工证的区别

电工证过期了不知道怎么复审延期?查询等级和费用全在这了 证书过期了不知道怎么复审延期,是不是你最近遇到的糟心事?别急,咱们今天就来说说【电工证在哪里查询等级】这事儿,顺便告诉你【多少钱】能搞定复审,别再被黑中介坑了。…

📰

寮步哪里可以办电工证?网上查询帮你避开中介坑

寮步哪里可以办电工证?网上查询帮你避开中介坑 你是不是也这样,跑遍了寮步的几个报名点,结果不是被推销课程,就是被要求加各种“服务费”? 不知道去哪报名怕被中介坑…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬