如果懶得自己寫代碼,可先用資料庫的圖形管理軟體定義好所要的資料庫結構之後產生一個實際的資料庫,再利用sqlacodegen從這資料庫產生models.py。例如使用SQLite資料庫,可利用像〈四款SQLite圖形界面管理軟體〉之類的工具,產生所要的資料庫。
也就是若有既有的資料庫,sqlacodegen會讀取即有資料庫的結構,自動產生SQLAlchemy用的models.py代碼。
本文簡單介紹sqlacodegen的使用。
安裝sqlacodegen
# pip install sqlacodegen
用法
假定SQLite 3資料庫是example.db,拿之前那篇〈SQLAlchemy〉的資料庫當例子:
sqlacodegen sqlite:///example.db
這會將代碼輸出在螢幕上。若要結果存檔則是:
sqlacodegen sqlite:///exampler.db > models.py
或者:
sqlacodegen --outfile models.py sqlite:///example.db
所產生的結果如下:
# coding: utf-8
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
metadata = Base.metadata
class User(Base):
__tablename__ = 'user'
id = Column(Integer, primary_key=True)
name = Column(String(60), nullable=False)
sqlacodegen的完整選項:
sqlacodegen --help
在Linux上使用,sqlacodegen可能會被裝在使用者的目錄下:
~/.local/bin/sqlacodegen -h
參考
- https://pypi.python.org/pypi/sqlacodegen
沒有留言:
張貼留言