Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

the trait diesel::Expression is not implemented for FastStr, which is required by &'insert FastStr: AsExpression<diesel::sql_types::Text> #485

Open
jqiris opened this issue Aug 13, 2024 · 7 comments

Comments

@jqiris
Copy link

jqiris commented Aug 13, 2024

Feature Request

Crates

Motivation

Proposal

希望生成的结构体字符串可以支持diesel数据库插入和更新

Alternatives

@GreenAppleOne
Copy link

特别同意,现在一个痛点 是 是 proto 生成的 entity 结构体 与 数据库查询出的 结构体本质上是一样的,但 按这个框架就得搞两个,赋值 转换类型 超级麻烦,不知道字节内部怎么解决这个问题的

@GreenAppleOne
Copy link

@PureWhiteWu 辛苦看看

@PureWhiteWu
Copy link
Member

你好,针对这个场景,感觉可以在 faststr 库中实现一下 diesel 的这个 trait,作为 feature 开启,就像目前 serde/redis 的做法一样?
这样是否可以解决你们的问题?

@GreenAppleOne
Copy link

我的问题 不仅仅是字符串类型的问题,volo 里面实现增删改查,都需 先到 volo 自动生成的 结构体里面承载 数据,然后 转到 数据库对应的结构体 里面,真正执行 数据库本身的操作,同样道理 查询 反过来,数据先到 数据库结构体 再转到 volo 自动生成的 结构里面,这个转换很麻烦,有没有好的方式解决这个问题

@PureWhiteWu
Copy link
Member

你好,如果统一使用 volo 生成的结构体,现在遇到的问题是什么?

@GreenAppleOne
Copy link

感谢回复,目前是封装 的 sqlx,自动映射到 我定义的结构体,会有一些特殊的定义及扩展,另外 volo 生成的 结构体 在编译 volo_gen.rs 里,也不方便改里面的内容,特别是一些字段类型,这块有什么好的建议吗?特别想知道其它项目 怎么处理类似的问题的,谢谢

@PureWhiteWu
Copy link
Member

生成代码中的类型是无法满足你这边的需求么?必须要更改字段类型么?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants