ifExistsとifNotExists

SQLObjectの素敵な機能にテーブルが存在したらドロップ
テーブルがなかったらクリエイトというのがあります。

class.dropTable(ifExists=True)
class.createTable(ifNotExists=True)

SQLAlchemyも0.2.6で実装されました。

table.drop(checkfirst=True)
table.create(checkfirst=True)

最初にチェックしてテーブルが存在したらドロップ
という意味でcheckfirstらしいんですが、読みづらい…。

ifExists=Trueで良いと思うのですが…。

とりあえず使えるようになったよというメモ。

追記:

metadata.create/drop_all()ではこの機能使えないので、
かなり不便です…調べてみたら0.3では実装されるみたいです。