bartoszbartniczak/doctrine-datetime-with-microseconds

Doctine 扩展,为 \DateTime 对象添加微秒。

1.0.2 2021-10-01 08:35 UTC

This package is auto-updated.

Last update: 2024-08-29 04:54:40 UTC


README

Doctrine 插件,用于在数据库中保存带微秒的 DateTime 对象。

codecov

安装

通过 composer

composer require bartoszbartniczak/doctrine-datetime-with-microseconds

它如何工作?

标准的 Doctrine 行为

Doctrine 正确地将 \DateTime 保存到数据库中,但省略了微秒,而微秒是 \DateTime 对象的一部分。

标准的 doctrine 映射

1549735833745

Doctrine ORM 保存了日期,但没有微秒

1549735952539

在某些系统中,这种行为是不期望的。有一些情况,微秒是非常重要信息,因此应该被持久化。

注意:并非每个数据库系统都支持带微秒的时间戳。

如何使用?

这个库解决了使用 Doctrine 持久化微秒的问题。

映射

您可以使用 datetime_microseconds 而不是标准的 Doctrine 类型 datetime

example-mapping

在持久化对象后,您应该已经看到包含微秒的日期时间值被保存。

支持的数据库管理系统

  • PostgreSQL

兼容性表

*自 5.6.4 版本起支持微秒 [来源1] [来源2]

** 自 5.3 版本起支持微秒 [来源]

其他数据库管理系统

如果您的 RDBMS 不在上述列表中,并不意味着它不能工作。这意味着这个库尚未与该数据库系统进行过测试。您可以尝试自己测试,甚至尝试为此项目做出贡献。

  • Microsoft SQL Server - 尚未测试
  • Oracle 数据库 - 尚未测试
  • SQLite - 尚未测试