2024-03-07 Don't review Prisma Migration generated SQL
原文中文,约2700字,阅读约需7分钟。
📝
内容提要
文章讨论了Prisma Migration生成的SQL语句的复杂性和不直观性,作者手写了更简洁的SQL语句并测试成功进行关联查询。在团队合作的JavaScript项目中仍使用Prisma Migration,对于非团队或非JavaScript项目则使用Ecto管理迁移。
🎯
关键要点
-
Prisma Migration 生成的 SQL 语句复杂且不直观,难以审查。
-
在 many-to-many 关系的实现中,Prisma 生成的 SQL 使得 supabase-js 查询变得丑陋。
-
作者手写了更简洁的 SQL,并成功进行了关联查询。
-
在团队合作的 JavaScript 项目中,仍然选择使用 Prisma Migration,因为手写 SQL 成本高且易出错。
-
对于非团队或非 JavaScript 项目,作者倾向于使用 Ecto 管理迁移,认为其生成的 SQL 简洁且准确。
❓
延伸问答
Prisma Migration生成的SQL有什么问题?
Prisma Migration生成的SQL复杂且不直观,难以审查,尤其在many-to-many关系中使得查询变得丑陋。
作者是如何解决Prisma生成的SQL问题的?
作者手写了更简洁的SQL,并成功进行了关联查询,避免了Prisma生成的复杂SQL。
在团队项目中,作者为什么仍然选择使用Prisma Migration?
因为手写SQL的成本高且易出错,团队合作中使用Prisma Migration可以减少工作量。
对于非团队或非JavaScript项目,作者推荐使用什么工具?
作者推荐使用Ecto管理迁移,因为Ecto生成的SQL简洁且准确。
Ecto生成的SQL与Prisma生成的SQL有什么区别?
Ecto生成的SQL更简洁且准确,相比之下,Prisma生成的SQL复杂且不直观。
作者对Prisma Migration的总体看法是什么?
作者认为不应审查Prisma Migration生成的SQL,而应专注于prisma.schema。
🏷️