跳转到主要内容

SQLAlchemy类型以存储感知datetime值

项目描述

SQLAlchemy-Utc

https://badge.fury.io/py/SQLAlchemy-Utc.svg? https://travis-ci.cn/spoqa/sqlalchemy-utc.svg?branch=master https://codecov.io/github/spoqa/sqlalchemy-utc/coverage.svg?branch=master

本包提供了一种使用timezone=True选项启用的替换方案,用于替换 SQLAlchemy 内置的 DateTime 类型。虽然 SQLAlchemy 内置的 DateTime 类型提供了 timezone=True 选项,但由于一些供应商(如 SQLite 和 MySQL)不提供 timestamptz 数据类型,因此该选项对这些供应商没有任何影响。

UtcDateTime 类型在支持 timestamptz 的供应商(例如 PostgreSQL)上等同于带有 timezone=True 选项的内置 DateTime 类型,但在 SQLite 或 MySQL 上,它会在存储之前将所有 datetime.datetime 值转换为 UTC 偏移量,并通过结果集返回始终有意识的 datetime.datetime 值。

简而言之,UtcDateTime 实现

  • 只接受有意识的 datetime.datetime

  • 只返回有意识的 datetime.datetime

  • 永不接受或返回无意识的 datetime.datetime

  • 确保数据库中的时间戳始终以 UTC 编码,并且

  • 按预期工作。

提供 SQLAlchemy 辅助函数 utcnow(),作为生成服务器上的 UtcDateTime 值的替代方案,替代 func.now()。例如:Column('time', UtcDateTime(), default=utcnow())

由 Hong Minhee 在 Spoqa 编写,并遵照 MIT 许可证分发。

变更日志

0.14.0

发布于 2021 年 9 月 24 日。

  • UtcDateTime 上添加 cache_ok 标志以抑制 Pandas 警告。[由 derekderie 提出 #14]

0.13.0

发布于 2021 年 9 月 24 日。

  • 为 SQLite 日期时间添加毫秒。[由 Giovanni Santini 提出 #12]

  • 添加对 newer python 版本的支持。(3.7,3.8,3.9)[由 Giovanni Santini 提出 #12]

0.12.0

发布于 2021 年 5 月 7 日。

  • py.typed 文件添加到包中,以兼容 PEP-561。[由 Dima Boger 提出 #10]

0.11.0

发布于 2020 年 11 月 13 日。

  • 确保始终返回带有 UTC 时区的日期时间。[由 Eduard Christian Dumitrescu 提出 #8]

0.10.0

发布于 2018 年 1 月 25 日。

  • 弃用了对 older Python 版本的支持:2.6,3.2 和 3.3。[由 George Leslie-Waksman 提出 #2]

  • 添加了 sqlalchemy_utc.utcnow() 函数,作为在数据库服务器上生成 UtcDateTime 值的替代方案,替代 sqlalchemy.sql.functions.now()。[由 George Leslie-Waksman 提出 #4]

0.9.0

第一个版本。发布于 2016 年 6 月 22 日。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

SQLAlchemy-Utc-0.14.0.tar.gz (5.4 kB 查看散列)

上传于 源代码

构建发行版

SQLAlchemy_Utc-0.14.0-py2.py3-none-any.whl (6.0 kB 查看哈希值)

上传于 Python 2 Python 3

支持