跳转到主要内容

ISPyB数据库的SQLAlchemy ORM模型

项目描述

这提供了一组SQLAlchemy ORM模型,用于ISPyB数据库

安装

从pypi ispyb-models 安装

pip install ispyb-models

基本用法

from ispyb import models

dataCollection = models.DataCollection(
    ...
)

ses.add(dataCollection)
ses.commit()

...

datacollections = (
    ses.query(
        models.DataCollection
    ).filter(models.DataCollection.dataCollectionId == 1)
    ).first()
)

生成新版本

要更新模型,您需要通过GitHub Actions面板运行工作流程“更新模型”。这将创建一个新的分支,其中包含与最新DB发布匹配的模型,并为将此分支合并到主分支创建一个拉取请求。在合并之前,您需要做一些事情

  • 确保py-ispyb测试仍然可以通过这些新模型
  • 更新HISTORY.md以反映更改
  • 使用bump2version提升版本号

⚠️ 不要自己编辑输出文件

生成的 _auto_db_schema.py 应该不要修改(除了使用 black 进行自动格式化或使用 isort 排序导入之外)。所有模型都通过 __init__.py 导入并访问。任何修改,例如在模型之间注入额外的关系,都应该在这里进行。

⚠️ [本地测试用] 手动更新数据库模式

查看特定版本的 ispyb-database 的标签

$ git clone -b v1.18.1 https://github.com/ispyb/ispyb-database.git
$ # or, if you have an existing copy of the repository:
$ git checkout v1.18.1

应用 patches/circular_references.patch 中的模式补丁,以避免循环外键引用

$ patch -p1 < ispyb-models/patches/circular_references.patch

然后运行 ispyb-databasebuild.sh 脚本来生成数据库

$ sh build.sh

src/ispyb/models/ 中使用 sqlacodegen 生成模型

. generate_models.sh

项目详情


下载文件

下载适用于您平台的自定义文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。

源代码分布

ispyb-models-1.1.0.tar.gz (36.9 kB 查看哈希值

上传时间 源代码

构建分布

ispyb_models-1.1.0-py3-none-any.whl (36.4 kB 查看哈希值

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面