python 数据库逆向映射成module 小工具
来源:互联网 发布:电脑录音软件 编辑:程序博客网 时间:2024/06/08 06:24
最近在学习salAlchemy,在过程中希望找到一种机制,能够根据已存在的数据库的表结构(不同的库,表的数量和结构存在差异),自动去调整类和类中列的信息,包括字段之间的关系。虽然最终没有解决,但是找到了一个基于SqlAlchemy的小工具,sqlacodegen。根据官网上的解释,它是一个为SqlAlchemy制作的,能够自动生成模型代码的generator。它也是用来代替sqlautocode这个工具,它们功能相似,但是由于后者对于Python 3和SqlAlchemy新版本的支持问题,以及一些bug,被前者取代。
这个工具的特点:
(1)支持SqlAlchemy 0.6-1.0版本;
(2)所产生的代码为declarative形式(一种将列的声明和映射写在一起的形式,SqlAlchemy中常见),几乎跟手写 的没有差别;
(3)按照PEP 8标准编码;
(4)准确的定义关系,包括多对多,一对一;
(5)自动的探测到联系在一起的表和继承
(6)出色的范围测试(不太明白)
工具下载:
https://pypi.python.org/pypi/sqlacodegen/
在Python3.4中,自带了pip工具,Python2.X的版本用户可以自己下一个。
(1)如果有网络可以用,并且已经安装了pip工具,那么找到对应路径,命令行 -pip install sqlacodegen。
(2)在获取了.whl文件后,用-pip install 文件名.whl同样可以实现安装。
这里要说明的是,在用方式(2)进行安装时,sqlacodegen依赖一个叫inflect的包,需要自行下载后,才能安装sqlacodegen,方法(1)中pip工具会帮用户搞定。
在这里分享一个链接,里面几乎囊括了所有Python要用到的库,http://www.lfd.uci.edu/~gohlke/pythonlibs/
安装完毕后,在命令行中 -sqlacodegen --help
会看到如下图所示的结果,根据不同的数据库厂商和help中的提示,就可以对某个库或者某张表进行逆向生成模型了。下面是不同数据厂商的链接例子。链接信息可以参考,sqlAlchemy中create_engine()方法中参数。
sqlacodegen postgresql:///some_local_dbsqlacodegen mysql+oursql://user:password@localhost/dbnamesqlacodegen sqlite:///database.db
- python 数据库逆向映射成module 小工具
- 数据库结果映射ResultMapping小工具EasyQuery
- crc32逆向小工具
- Python 小工具集合
- [python] 用户名小工具
- python小工具
- Python 内置小工具
- python 小工具总结
- python小工具
- 数据库小工具整合版
- JDBC连接数据库小工具
- python 单词翻译小工具
- python socket聊天小工具
- Python 自带小工具
- python小工具收集-----GUID2class
- 一个Python的小工具
- python 列表相关小工具
- 串口小工具KKCOM-Python
- 编外的编外话
- OpenWrt的用处
- Sublime2 运行NodeJS
- eclipse最有用快捷键整理
- Up and Running with C++
- python 数据库逆向映射成module 小工具
- Microsoft Visio Premium 2010 VOL(大客户)简体中文高级版32位/64位下载+激活破解方法
- SOJ.Hex to Int
- PHP中过滤常用标签的正则表达式
- hunnu-11546--Sum of f(x)
- 第五章
- JAVA利用Runtime执行多条linux命令
- 为什么现在电视机的屏幕都要设计成 16:9 的,而不是 4:3?
- 第六章