今日のシッパイソン:SQLAlchemyの設定

  • 投稿日:
  • by
  • カテゴリ:

何をどうやってもDBにcommitされない!

sqliteのdbファイルに書き込まない!

config.pyで、

SQLALCHEMY_ECHO=True

とやるとクエリは出てる!

db.create_all()

も動いてる!

正常に動くサンプルと見比べてやっとわかりました。

class DevelopmentConfig(Config):
SQLALCHEMY_DATABASE_UIR = 'sqlite:///' + os.path.join(basedir, 'db.sqlite')

ぎゃー。「URI」が「UIR」になってた!

結局、これってグローバル変数なんですよねぇ。エラーにならないから厄介ですよねぇ。

# デフォルトのDBに書き込まれているの?何それ、どこにあるの?

手で打ち込むのが悪いというのは分かるんですが、この手のトラブル追跡を積まないと結局使い物にはならない気もしたり、そんなの願い下げのような気もしたり。

(追記)

上記で厄介なのは、pythonスクリプトからは、SQLAlchemy経由のDBへの書き込みも読み出しも正常に動作する点です。

ただ、永続化されないのです。

# どこかのテンポラリDBに書き込まれている?