TypeError: ‘str’ object is not callable

2024年6月18日

エラーが発生しているのは、textが文字列としてではなく、関数として呼び出されているためです。textはクラスであり、オブジェクトを生成するコンストラクタです。そのため、関数のように呼び出すことはできません。

正しい使い方は、textをクラスとして呼び出し、それに続けて文字列を渡すことです。修正したコードは以下の通りです:

python
from sqlalchemy import create_engine, text

# SQLAlchemyエンジンの作成
engine = create_engine("sqlite:///:memory:")

# カラムを追加
with engine.connect() as connection:
    statement = text('ALTER TABLE users ADD COLUMN work STRING')
    connection.execute(statement)

この修正により、textクラスが正しく使用され、エラーが解消されるはずです。

未分類

Posted by ぼっち