请教一个关于 sqlc 的问题, 当我修改 query 之后造成 go 结构体字段的变化. 如何自定义?
表 1 有两个字段挪到 表 2 上了.
之前的 query.sql 是这样的:
```sql
select * from t1
```
sqlc 生成的结构体是这样的:
```go
type Haha struct {
...
Username string `json:"username"`
Password string `json:"password"`
...
}
```
现在的 query.sql 长这样:
```sql
select t1.*, t2.*
from t1
left join t2
on t1.id=t2.pid
```
生成的结构体变这样了:
```go
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 的修改是如何设计的?
谢谢
#sql #t1 #json #t2 #query #sqlc #string #NullString #select #go
表 1 有两个字段挪到 表 2 上了.
之前的 query.sql 是这样的:
```sql
select * from t1
```
sqlc 生成的结构体是这样的:
```go
type Haha struct {
...
Username string `json:"username"`
Password string `json:"password"`
...
}
```
现在的 query.sql 长这样:
```sql
select t1.*, t2.*
from t1
left join t2
on t1.id=t2.pid
```
生成的结构体变这样了:
```go
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 的修改是如何设计的?
谢谢
#sql #t1 #json #t2 #query #sqlc #string #NullString #select #go