SQLALCHEMY Models and DDL and ERD Generation from Chop-DBHI/Data-Models Style JSON Endpoint.

dmsa的Python项目详细描述


#数据模型sqlalchemy

[![圆形ci](https://circleci.com/gh/chop-dbhi/data-models-sqlalchemy/tree/master.svg?style=svg)(https://circleci.com/gh/chop-dbhi/data-models-sqlalchemy/tree/master)[![覆盖状态](https://coveralls.io/repos/chop-dbhi/data-models-sqlalchemy/badge.svg?branch=master&service=github)(https://coveralls.io/github/chop-dbhi/data-models-sqlalchemy?branch=master)


sqlalchemy模型和[chop-dbhi/data-models-service]风格json端点的ddl和erd生成(https://github.com/chop-dbhi/data-models-service)。


web服务可在http://dmsa.a0b.io/


sqlalchemy模型

在虚拟环境中:

``sh
pip安装dmsa
````

python中:

``python
``sqlalchemy导入元数据
dmsa导入make_model_from_service

metadata=metadata()
metadata=make_model_from_service('omop','5.0.0',
"http://data models.origins.link/",
元数据中的tbl

。已排序的表:
打印tbl.name
```


这些模型在运行时从chop dbhi/data models service提供的json端点动态生成,后者存储在chop dbhi/数据模型中的ds数据。存储在那里的任何数据模型都可以转换为sqlalchemy模型。在编写本文时,可以使用以下内容。

注意:这些模型当前是"经典"样式,因此未映射。更多信息[见这里](https://github.com/chop-dbhi/chip-dbhi/data models-sqlalchemy/issues/22.


-i2b2b2b2
-1.7.0
-i2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2
-4.0.0.0
-5.0.0.0.0<-1.0.0
-2.0.0
-2.1.0
-2.2.0

gresql
-mysql
-mysql
-ms-sql-server
-oracle


/>
生成omopOracle的V5创建DDL:

``sh
docker run--rm dbhi/data models sqlalchemy dmsa ddl-tci omop 5.0.0 oracle
`````


generate omop v5 drop ddl for oracle:
``sh
docker run--rm dbhi/data models sqlalchemy dmsa ddl-tci--drop omop 5.0.0 oracle
````


``sh
docker run--rm dbhi/data models sqlalchemy dmsa ddl--delete data omop 5.0.0 oracle
````


generate i2b2 pedsnet v2 erd(图像将在`./erd/i2b2 pedsnet_2.0.0 erd.png`)上着陆:

``sh
docker run--rm v$(pwd)/erd:/erd dbhi/data models sqlalchemy dmsa erd-o/erd/i2b2_pedsnet_2.0.0_erd.png i2b2_pedsnet 2.0.0
`````

m要求(详细信息请参见dockerfile):

-python 2.7
-`graphviz`用于生成erd
-oracle`instantclient basic`和`-sdk`和`libaio1`用于生成oracle ddl
-`libpq dev`用于生成postgresql ddl
-`unixodbc dev`用于生成ms sql server ddl

希望在virtualenv中安装python需求(详细信息请参见dockerfile):

```sh
pip install cx oracle;对于oracle ddl generation
pip install psycopg2;对于postgresql ddl generation
pip install pymysql操作
pip install pyodbc for ms sql server ddl generation
```

安装数据模型sqlalchemy python包:

``sh
pip install dmsa
````


用法消息:

``sh
``dmsa-h
````

generate omop v5 creation ddl for oracle:

``sh
dmsa ddl-tci omop 5.0.0 oracle
```

generate omop v5 drop ddl for oracle:

``sh
dmsa ddl-tci--drop omop 5.0.0 oracle
``````


generate omop v5 data deletion dml for oracle:

``sh
dmsa ddl--delete data omop 5.0 oracle
````

generate i2b2 pedsnet v2 erd(图像将在`./erd/i2b2b2-pedsnet-u 2.0.0-erd.png`):


``sh
mkdir-p erd
dmsa erd-o/erd/i2b2b2-pedsnet-u 2.0.0-erd.png i2b2b2b2-pedsnet 2.0.0
```

web服务



br/>web服务使用[gunicorn(http://guniccorn.org/guniccorn.org/guniccorn.org/http://guniccorn.org/guniccorn.org/guniccorn.org/guniccorn.org/web服务使用[gu/)Docker容器中的服务器和Flask调试服务器locally.它公开了以下端点:

-在`/<;model>;/<;version>;/ddl/<;dialect>;/`
-仅为`/<;model>;/<;version>;/ddl/<;dialect>;/<;elements>;`
-在`/<;model>;创建ddl/<;version>;/drop/<;dialect>;/`
-仅删除位于`/<;model>;/<;version>;/drop/<;dialect>;/<;elements>;`
-删除位于`/<;model>;/<;version>;/删除/<;dialect>;/`
-erds位于`/<;model>;/<;ve的"table"、"constraint"或"index"元素的ddlrsion>;/erd/`
-Oracle日志脚本位于`/<;model>;/<;version>;/日志/Oracle/`
-Oracle日志脚本仅用于`/<;model>;/<;version>;/日志/Oracle/<;elements>;/`
-Oracle日志脚本位于`/<;model>;/<;version>;/noracle/oracle/`
-oracle只对`/<;model>;//<;lt;version>;lt;version>;///oracle/<;elements>;//`



``` docker run dbhi/data models sqlalchemy使用dockerfile默认值0.0.0.0.0:80
````



/>
运行:

```sh
DMSA服务#使用烧瓶默认值127.0.0.1:5000
```

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

推荐PyPI第三方库


热门话题
java IllegalStateException:在onBackPressed()上的onSaveInstanceState之后无法执行此操作;   java处理巨大的JSON响应   指向易趣时出现java fileNotFoundException。来自手机的com   java从数组填充GridView   两个三维向量之间的角度   java无法运行程序“cf”:错误=2,没有这样的文件或目录,错误=2   java如何使用DOCX4J从<a href到MS word bookmark/hyperlink创建内部超链接。使用DOCX4J为word文档中的TOC创建超链接   设计模式java的目标是什么。尼奥。文件CopyOption接口?   java从SQLiteDB获取选择信息?   Java引用错误   使用函数作为参数的java   tic-tac-toe似乎无法正确编译我的方法(Java)   使用泛型作为方法参数的java   java类'OIDCtenatConfig'无法解析,为什么?   如果Java中有两个同名的方法,如何告诉编译器我将使用什么方法?   java hazelcast flake id返回不同的数据   java如何按值对树集排序?   java为什么泛型类型信息在类文件中可见?   JavaSpringDataJPA+SpringProjections使用@Query(native和JPQL)为相关实体返回null