SQLACODEGEN 转储现有数据库到sqlalchemy模型

发布时间 2023-08-04 17:54:34作者: 上官飞鸿

sqlacodegen --帮助 用法:sqlacodegen [-h] [--version] [--schema SCHEMA] [--tables TABLES] [--noviews] [--noindexes] [--noconstraints] [--nojoined] [--noinflect] [ --noclasses] [--nocomments] [--outfile 输出文件] [网址]

从现有数据库生成 SQLAlchemy 模型代码。

该工具是作为“sqlautocode”的替代品而编写的,该工具存在几个问题 (包括但不限于与 Python 3 和最新 SQLAlchemy 版本的不兼容)。

位置参数:

url SQLAlchemy 数据库的 url

可选参数:

-h, --help 显示此帮助消息并退出

--version 打印版本号并退出

--schema SCHEMA 从备用模式加载表

--tables TABLES 要处理的表(逗号分隔,默认值:全部)

--noviews 忽略视图

--noindexes 忽略索引

--noconstraints 忽略约束

--nojoined 不自动检测连接表继承

--noinflect 不要尝试将表名称转换为单数形式

--noclasses 不生成类,只生成表

--nocomments 不渲染列注释

--outfile 将输出写入的 OUTFILE 文件(默认值:stdout)

 

 


用法示例 ------------- 至少,您必须为 sqlacodegen 提供一个数据库 URL。

URL 直接传递到 SQLAlchemy 的 `create_engine()`_ 方法,因此请参阅 `SQLAlchemy 的文档`_ 了解 有关如何构建正确 URL 的说明。

例子:

sqlacodegen postgresql:///some_local_db

sqlacodegen mysql+oursql://用户:密码@localhost/dbname

sqlacodegen sqlite:///database.db

 

这是一个命令行的程序,当然你也可以写成py脚本,让python来执行命令行。