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-database
的 build.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 查看哈希值)
关闭
ispyb-models-1.1.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8f6c4d323125efb3e248166a4b3d302abfd9b5e8dd1e1ba1b5716969e8a46ec2 |
|
MD5 | 8f60920259660e9c3644a98fc6d99d74 |
|
BLAKE2b-256 | bacd02bc790e1bdaef3b2a9186dc41c3e65571f75ca554fdd85348e91c3a488b |
关闭
ispyb_models-1.1.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6ac0281b9972589e8ab06ac219d0d2ae7e9faa210204da3a3bbf76a03c99c7fa |
|
MD5 | cefaada2d9cfd53c9839b18c607099da |
|
BLAKE2b-256 | 78c2eb23b7756db1f89a295b88dde67ecb52cf06d771542b514393f27628174f |