1

SQLAlchemy と MySQL で使用している Pyramid アプリケーションがあります。ブール値として扱いたいデータベース フィールドについては、SQLAlchemy 側では "BIT" データ型を使用し、MySQL 側では BIT(1) を使用してきました。

これはすべて正常に機能していましたが、ウェブホストで新しく更新されたコードをチェックしていたところ、phpMyAdmin のバージョンがローカルで使用しているものよりも新しいものでした。BIT フィールドを持つテーブルをブラウズしていましたが、新しい phpMyAdmin ではデータが何も表示されません。空白です。私のローカル インスタンスでは、BIT フィールドは 0 または 1 として表示されます。ホストされている phpMyAdmin をインライン編集しようとすると、試した値は取得されません。アプリケーション コードを試してみましたが、true/false の値を問題なく切り替えることができるようです。

疑問に思いました-このセットアップでは、別の方法でアプローチする必要がありますか? SQLAlchemy は Boolean をサポートしていますが、これはより直感的で適切なようです。代わりにそれを使用して、MySQL フィールドを TINYINT に設定する必要がありますか?

SQLAlchemy と MySQL の間でブール値を処理するために従来受け入れられている方法は何ですか?

4

1 に答える 1

3

MySQL にはBOOL型 (SQLAlchemy が使用するもの) があるので、なぜそれを使用しないのかわかりません。どうやらのエイリアスですTINYINT

from sqlalchemy import Booleanそして、あなたは行く準備ができているはずです。

于 2013-07-16T21:19:49.813 に答える