DrizzleORM v0.30.0 发布
Mar 7, 2024

重大变更

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

❗ 我们修改了 postgres.js 驱动程序实例,使其始终返回日期字符串,然后 Drizzle 将根据所选的 mode 为你提供映射日期的字符串。你可能遇到的唯一问题是,一旦你在 Drizzle 中提供 `postgres.js“ 驱动程序实例,此对象的行为将更改为日期,因为日期始终为字符串。

我们将此更改作为次要版本发布,仅供参考:

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

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

// Override postgres.js default date parsers: 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 中与我们联系!

更多关于带时区和不带时区的时间戳的参考,请参阅我们的 docs

查看文档了解如何开始使用 postgres.js 驱动程序和 Drizzle 此处

修复