上次发帖发布 queryx 之后,我们收到了不少反馈和意见,这次我们带来了一个 v0.2
新版,新版最大的改动就是支持生成 TypeScript 的 ORM 代码。
在 schema.hcl
中添加 generator typescript-client
来生成 TypeScript 代码。
database "db" {
generator "typescript-client" {}
}
在使用生成的方法之前,需要先安装一些外部依赖。Queryx 使用 date-fns
来处理时间类型:
npm install date-fns
对于 PostgreSQL:
npm install pg @types/pg
对于 MySQL:
npm install mysql2 @types/node
对于 SQLite:
npm install better-sqlite3
与生成的 Golang 代码不同,TypeScript 版本不需要创建 Change 对象来修改数据库记录。
import { newClient } from "./db";
let c = newClient();
let user = await c.queryUser().create({ name: "用户名" });
await user.update({ name: "新用户名" });
目前 TypeScript 的版本通过了我们的集成测试:
在接下来的版本中我们会继续优化生成的代码,包括修复类型检查,欢迎大家 star ,提交 issue 和代码,更多信息可以访问代码主页,也欢迎在评论给我们反馈。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.