如何使用sqlatuocode正向生成sqlalchemy格式的mapper类

来源:互联网 发布:淘宝网安卓版下载 编辑:程序博客网 时间:2024/06/10 02:34

1.安装sqlautocode

首先使用pip或者easy_install安装sqlautocode(也可以去官网直接下载,但2.7的py+win64X的环境是商用未解锁的,需要付费好像)

2.确认安装是否正确

安装成功后,在你自己的python根目录下,博主的是D:\WorkSoft\python2.7\Scripts下会有sqlautocode.exe,以及D:\WorkSoft\python2.7\Lib\site-packages有sqlautocode的package包。说明你安装成功了。

3.用例使用

博主默认你已经设置了D:\WorkSoft\python2.7\Scripts为system path,这时候直接打开cmd,输入以下指令:sqlautocode mysql://dbuser:pass@10.1.1.2/nova -t networks -onova_networks_model.py

这里的具体填写参数,请参照以下:

       调用格式如下:

1
sqlautocode <database_url> [options, ]

其中 database_url 就是我们使用 SQLAlchemy 时配置的数据库 url,有的人也习惯称之为 dsn。可选的参数如下:

-h, --help

显示帮助信息

-o OUTPUT, --output=OUTPUT

要写入的文件,默认是 stdout

--force

覆盖要写入的文件

-s SCHEMA, --schema=SCHEMA

可选参数,用于反向映射指定的数据库

-t TABLES, --tables=TABLES

可选参数,是一个使用逗号隔开的列表,用于指定要反向工程的表名,支持 * 作为通配符,例如:

--tables account_*,orders,order_items,*_audit

-b TABLE_PREFIX, --table-prefix=TABLE_PREFIX

生成的 SQLAclhemy 表对象的前缀

-a TABLE_SUFFIX, --table-suffix=TABLE_SUFFIX

生成的 SQLAclhemy 表对象的后缀

-i, --noindexes, --noindex

不生成索引信息

-g, --generic-types

生成是使用符合 ANSI 标准的字段类型而不是数据库特定的类型

--encoding=ENCODING

输出文件使用的编码,默认为 utf8

-e, --example

同时生成如何访问数据的示例代码

-3, --z3c

生成用于 z3c.sqlalchemy 的代码

-d, --declarative

生成使用 SQLAlchemy declarative 的代码

-n, --interactive

在生成的代码包含交互示例

example: sqlautocode mysql://user:password@host:port/datebase -o model_name.py -t table_name -e --force