JSON >> SQLAlchemy (0.1)

前回のはSQLObjectでしたが、せっかくなのでSQLAlchemyバージョンでも。

結構前に書いたやつなので、SQLAlchemy 0.1のみです。
そのうち0.2.2対応のが書ければいいかなぁと。


from simplejson import *
from sqlalchemy import *

db = create_engine("sqlite:///domains.db")
db.echo = False

domains = Table("domains", db,
Column("domain_name", String(64), primary_key=True),
Column("create_date", Date),
Column("expiry_date", Date),
Column("organization_name", String(64))
)
#domains.drop()
domains.create()

domainsJson = load(file("domains.json", "r"), encoding="utf-8")

for row in domainsJson["rows"]:
domains.insert().execute({
"domain_name": row[0],
"create_date": row[1],
"expiry_date": row[2],
"organization_name": row[3]})

SQLObjectではDROPにはIF EXIST、CREATEにはIF NOT EXISTがありましたが、
SQLAlchemyには見あたりませんでした(Documentをしっかり読んでいないだけかもしれません)

個人的にPythonのORMはSQLAlchemyが好きだったりします。
なんといってもドキュメントとチュートリアルが秀逸です。

SQLAlchemy 0.2 Documentation
http://www.sqlalchemy.org/docs/index.myt?paged=no

A step-by-step SQLAlchemy tutorial
http://www.rmunn.com/sqlalchemy-tutorial/tutorial.html

これでもか!というくらい丁寧に書いてあります。

少しずつでもPythonのORM情報をながしていければと思います。