表 1 有两个字段挪到 表 2 上了. 之前的 query.sql 是这样的:
select * from t1
sqlc 生成的结构体是这样的:
type Haha struct {
...
Username string `json:"username"`
Password string `json:"password"`
...
}
现在的 query.sql 长这样:
select t1.*, t2.*
from t1
left join t2
on t1.id=t2.pid
生成的结构体变这样了:
type Haha struct {
Username sql.NullString `json:"username"`
Password sql.NullString `json:"password"`
}
sql.NullString 这是个结构体, 导致我所有的业务代码都要改. 请问有没有什么办法能让他变回 string?
t2 join t1 这种方法不行. 因为我还有一些其他字段依赖 t1 相当于没解决问题.
sqlc 是否有针对这种情况进行考虑? config 中的 rename 感觉是全局修改, 自定义性不强.
第二个问题是各位大佬在使用 sqlc 的过程中, 针对表结构和 query.sql 的修改是如何设计的?
谢谢
1
chaleaochexist OP 临时是这样解决的. 但是总感觉怪怪的.
```sql select t1.*, t2.*, t2.username::varchar(255) AS username, t2."password"::varchar(255) AS "password", from t1 left join t2 on t1.id=t2.pid ``` |