# db2word **Repository Path**: LittleY98/db2word ## Basic Information - **Project Name**: db2word - **Description**: 根据已有的数据库表生成对应的schema说明文档 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-03 - **Last Updated**: 2025-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数据库 Schema 文档生成工具 一个轻量级的命令行工具,用于自动提取数据库表结构并生成 Microsoft Word 文档。 ## 功能特性 - 支持 MySQL 和 PostgreSQL 数据库 - 自动提取表结构信息(字段名、数据类型、长度、是否允许空、默认值、备注) - 生成格式化的 Word 文档(.docx) - 命令行界面,简单易用 ## 安装 ### 使用 uv(推荐) ```bash # 安装 uv(如果还没有安装) curl -LsSf https://astral.sh/uv/install.sh | sh # 安装项目依赖 uv sync # 或者直接安装到当前环境 uv pip install -e . ``` ### 使用传统方式 ```bash pip install -r requirements.txt ``` ## 使用方法 ```bash python main.py --host=localhost --port=3306 --database=myapp_db --type=mysql --user=root --password=your_password ``` ### 参数说明 - `--host`: 数据库服务器主机地址(默认: localhost) - `--port`: 数据库服务端口(MySQL 默认: 3306, PostgreSQL 默认: 5432) - `--database` 或 `-d`: 目标数据库名称(必需) - `--type` 或 `-t`: 数据库类型,支持 `mysql` 或 `postgresql`(必需) - `--user` 或 `-u`: 数据库用户名(默认: root) - `--password` 或 `-p`: 数据库密码(默认: 空) - `--output` 或 `-o`: 输出文件路径(可选,默认: `{database_name}_schema.docx`) ### 示例 ```bash # MySQL 示例 python main.py --host=localhost --port=3306 --database=test_db --type=mysql --user=root --password=123456 # PostgreSQL 示例 python main.py --host=localhost --port=5432 --database=test_db --type=postgresql --user=postgres --password=123456 ``` ## 输出格式 生成的 Word 文档包含: - 文档标题:`{数据库名} 数据库表结构说明` - 每个表的独立章节,包含: - 表名标题 - 字段信息表格(字段名、类型、长度、允许空、默认值、备注) ## 依赖要求 - Python 3.7+ - sqlalchemy - python-docx - pymysql (MySQL) - psycopg2-binary (PostgreSQL)