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
```
[![圆形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
```