pedsnet通用数据模型定义

pedsnetcdms的Python项目详细描述


#pedsnetcdms

用于cdm模型类和ddl自动生成的python应用程序。

pedsnet cdms应用程序为pedsnet、vocab、i2b2和pcornet cdms创建可导入python的sqlalchemy和django样式的模型。此外,可以从这些模型创建alembic和django迁移。alembic迁移可用于为所有四个cdm自动生成ddl文件。

pedsnetcdms应用程序基于json格式的模型声明性定义(可在models.json文件中找到)和从这些模型动态生成python类(可在dj_makers.pysa_makers.py文件中找到)。生成函数用于每个cdm的models.pysa_models.py文件,将模型类放在orms可以找到它们的地方。settings.pyalembic.inialembic/env.py文件只是orm模块配置。

##安装

一个pip install pedsnetcdms应该可以让您获得包含生成的模型和迁移的包,以便导入到您的python环境中。

但是,如果要自己生成ddl或直接在数据库上使用迁移,则必须克隆存储库并安装以下部分或全部python包及其(在某些情况下为非python)依赖项,具体取决于您使用的dbms:

  • CX Oracle
  • 心理2
  • PymSql
  • mysql python

这是留给读者的练习。(尽管也许有一个文档文件…公关任何人?)

##DDL文件

postgresql、oracle、sql server和mysql方言中所有四个cdm的ddl文件都可以在pedsnetcdms/ddloutput目录中找到。它们是假设的,所以如果你发现问题,请测试它们并发布一个问题。

##模型使用

django模型在pedsnetcdms.<CDM>.models上可用,sqlalchemy模型在pedsnetcdms.<CDM>.sa_models上可用,其中<CDM>应替换为以下之一:

  • PEDSNETCDM
  • itwobtowcdm
  • VOCABCDM
  • PCornetCDM

您还可以在djangoINSTALLED_APPS设置中包含这些应用程序中的任何一个。

##DDL生成

为了生成ddl,请从上面的列表中为dbms安装所需的包,克隆存储库并安装该包。

编辑所需cdm的pedsnetcdms/<CDM>/alembic/env.py文件,以限制将为其输出ddl的dbms(提示:在run_migrations_offline函数中元组的迭代列表)。

pedsnetcdms包目录(文件所在的位置)中,运行alembic -n <CDM> upgrade head --sql并观看ddl文件的出现!

##直接迁移使用

如上所述,安装需求、克隆和安装软件包。

编辑alembic.inisettings.py文件以指定要连接到的数据库uri(请注意,该设置在alembic.ini中的每个cdms节下重复)。

运行alembic -n <CDM> upgrade headpython manage.py migrate <CDM>

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
添加组件后,java JTable为空   java将json发送到php并插入mysql,但返回null   java Spring引导JNDI CommonJ资源   从不同PC创建和合并后的Java servlet问题   java如何在使用findelements时从xpath获取文本   java使用spring boot使用gmail smtp发送电子邮件   java在不使用pojo、bean或getter和setter的情况下获取Json标题的Json数组   Java中的OpenFile对话框将null作为响应   JavaBuilder模式。扩展接口   java中无需替换的数据结构选取   java如何评价Encog中的预测神经网络   java如何在安卓中使用实际的HttpURLConnection进行单元测试?   java使用XML配置禁用WebSocket中的CSRF保护   java如何通过hibernate从多表查询中获取数据?   mysql如何在java中获取更新的行Id   java AEM/CQ组件单一组件/有限组件   java FFmpeg Javacv延迟问题   显示整数数组的java不起作用