SQLBoiler是一种工具,用于生成适合您的数据库模式的 Go ORM。它是一个“数据库优先”的 ORM,而不是“代码优先”(如 gorm/gorp)。这意味着您必须首先创建数据库模式。
这是我一直在使用它的方式:
在过去的几年里,在我们的单租户架构中,我一直在使用 CockroachDB 和 SQLBoiler 的组合。在此设置中,我们启动了一组服务器(假设为 A-12),这些服务器使用指定用户(A-12)专门与特定数据库(A-12)通信,并且访问权限仅限于该特定数据库(A-12) .
但是,我们在将系统迁移到动态集群部署的过程中遇到了一个问题,这涉及到动态多租户方法。在这个新设置中,单个服务器 (A-12) 需要与多个数据库(A-12、A-13 等)进行通信。
问题 :
不幸的是,SQLBoiler 被设计为每个数据库用户只与一个数据库建立连接。目前,我们正在为此目的使用管理员用户。
SQLBoiler基于模板生成样板代码,一旦生成就不能修改。唯