2

sqlalchemy を使用してテーブルを作成しているときに、ここで何か不足していますか?

from sqlalchemy import create_engine
from sqlalchemy import MetaData, Column, Table, ForeignKey
from sqlalchemy import Integer, String, DateTime

engine = create_engine('postgresql+psycopg2://postgres:password#@localhost:5432/LabData',echo=True)

metadata=MetaData(bind=engine)
main_table=('sample',metadata,
            Column('LIN',String(10),primary_key=True),
            Column('material_type',String(20),nullable=False),
            Column('source',String(20),nullable=False),
            Column('material_description',String(100)),
            Column('quantity',Integer),
            Column('location',String(2)),
            Column('received_by',String(20)),
            Column('received_date',DateTime,nullable=False),
            )

metadata.create_all()

Python コンソールの出力は次のとおりです。

2012-04-25 13:13:42,734 INFO sqlalchemy.engine.base.Engine select version()
2012-04-25 13:13:42,796 INFO sqlalchemy.engine.base.Engine {}
2012-04-25 13:13:42,796 INFO sqlalchemy.engine.base.Engine select current_schema()
2012-04-25 13:13:42,796 INFO sqlalchemy.engine.base.Engine {}

テーブルにデータを追加しようとすると、nosuchtableerror と表示されます。

4

1 に答える 1

3

タイプミスの可能性?

main_table=('sample',metadata,...

多分そうあるべき

main_table=Table('sample',metadata,...
#          ^^^^^
于 2012-04-25T17:33:19.970 に答える