SQLAlchemyによってデータベースに送信されたSQLコマンドのデバッグ(表示)
PersonというORMクラスがあります。これはpersonテーブルをラップします。 データベースなどへの接続を設定した後、次のステートメントを実行します。 people = session.query(Person).all() personテーブルには(まだ)データが含まれていないため、変数peopleを出力すると、空のリストが表示されます。 ORMクラスPeopleで参照されているテーブルの名前をpeople_foo(存在しない)に変更しました。 その後、スクリプトを再度実行します。存在しないテーブルにアクセスしようとしても例外がスローされなかったことに驚きました。 したがって、次の2つの質問があります。 データベースエラーをスクリプトに伝播するようにSQLAlchemyを設定するにはどうすればよいですか? データベースエンジンに送信されているSQLを表示(つまり印刷)するにはどうすればよいですか? それが役に立ったら、私はPostgreSQLを使用しています。 [編集] 私はパッケージを書いています。私の__main__.pyスクリプトには、次のコードがあります(ここでは短縮されています)。 ### __main__.py import common # imports logging and defines logging setup funcs etc logger = logging.getLogger(__name__) def main(): parser = OptionParser(usage="%prog [options] <commands>", version="%prog 1.0") commands = OptionGroup(parser, "commands") parser.add_option( "-l", "--logfile", dest="logfile", metavar="FILE", help="log to …