解析PowerDesigner的数据库设计pdm文件,用于模板代码生成
Project description
pdmparse
pdmparse 是一个用于解析 PowerDesigner 的数据库设计 PDM 文件并生成模板代码的工具。它允许开发者通过读取 PDM 文件中的表结构、字段、关系等信息,自动生成符合特定模板的代码。
功能概述
- 解析 PDM 文件:读取 PowerDesigner 导出的 PDM 文件,提取表结构、字段、外键关系、图表信息等。
- 模板代码生成:基于解析的数据,使用 Jinja2 模板引擎生成目标代码(如 Flask API 模型)。
- 灵活的过滤和重命名:支持通过自定义函数对表进行过滤和重命名。
主要模块
test.py
test.py 是一个测试脚本,展示了如何使用 pdmparse 库的功能。
主要功能
-
生成模型代码:
- 使用
PdmParse类解析 PDM 文件。 - 应用表过滤函数,仅处理特定图表中的表。
- 使用自定义重命名函数为每个表生成输出文件名。
- 通过 Jinja2 模板生成目标代码。
- 使用
-
打印读取内容:
- 使用
read函数直接读取 PDM 文件中的表信息。 - 打印每个表的详细信息,包括字段、外键关系、图表等。
- 使用
使用示例
以下是如何使用 test.py 脚本的示例:
- 生成模型代码:
from pdmparse.api import PdmParse from pdmparse.parsers import read def table_filter_func(table): """ 表过滤函数:仅处理属于 '服务系统' 图表的表。 """ return len([diagram for diagram in table.diagrams if diagram.name == '服务系统']) > 0 def rename(table): """ 自定义重命名函数:为每个表生成输出文件名。 """ f_name = '%s.py' % (table.code.lower()) print(f_name) return f_name # 初始化 PdmParse 对象 api = PdmParse(r'C:\Users\china\OneDrive\Dev\pdm\lnwork_open.pdm', 'templates', __filters__) # 生成模板文件 api.gen_template_file( 'output', 'flask_api.jinja2', table_filter_func, rename, **{'app_name': 'app_name', 'package_name': 'package_name'} )
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pdmparse-1.0.3.tar.gz
(6.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pdmparse-1.0.3.tar.gz.
File metadata
- Download URL: pdmparse-1.0.3.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
565bb5c903c67d0370c32208d247491f5af399c43b8509743d70b30df978bd64
|
|
| MD5 |
8aab4d87d0f7b5153b91eaeee3981bcb
|
|
| BLAKE2b-256 |
d9683d7795fb29808e3c020aaea245afd5cfcaf4b1dbcccca96297a932218eff
|
File details
Details for the file pdmparse-1.0.3-py3-none-any.whl.
File metadata
- Download URL: pdmparse-1.0.3-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9271575a1d8b6bcedc5270c65d978d7270f06dd77744e83f3031586e1b07539
|
|
| MD5 |
335bf8e87cb65ba5c8e8adebe08e507a
|
|
| BLAKE2b-256 |
1469a73eb00315a789f0b994523ac500ec4b0d2b6d35efa8219c96b418bf6d0e
|