Become a Gold Sponsor
DrizzleORM v0.30.0 发布
Mar 7, 2024

重大变更

Postgres 时间戳映射已更改,以使所有驱动程序具有相同的行为。

❗ 我们已修改 postgres.js 驱动实例,以始终返回字符串形式的日期,然后 Drizzle 将根据所选的 mode 提供映射日期的字符串。您可能会遇到的唯一问题是,一旦您在 Drizzle 中提供 postgres.js 驱动实例,该对象在日期处理上的行为将始终返回字符串。

我们将此更改作为小版本发布,仅作为警告:

针对 postgres.js 的解析器已更改。

const transparentParser = (val: any) => val;

// 重写 postgres.js 默认日期解析器: https://github.com/porsager/postgres/discussions/761
for (const type of ['1184', '1082', '1083', '1114']) {
	client.options.parsers[type as any] = transparentParser;
	client.options.serializers[type as any] = transparentParser;
}

理想情况下,像几乎所有其他驱动程序一样,我们应该能够按查询基础变更映射,这意味着驱动程序客户端不会被变异。我们将与 postgres.js 库的创建者联系,以询问是否可以指定按查询的映射拦截器,从而使这个流程对所有用户更加优化。

如果我们遗漏了这一功能,并且 postgres.js 中已可用,请在 Discord 中联系我!

有关带时区和不带时区的时间戳的更多参考可以在我们的 文档中找到。

有关开始使用 postgres.js 驱动程序和 Drizzle 的文档,请 点击这里

修复