DrizzleORM v0.30.0 版本发布
2024年3月7日

重大变更

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 中告知我们!

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

有关 `postgres.js` 驱动程序和 Drizzle 的入门文档,请点击此处查看

修复