gpt4 book ai didi

python - 为什么在 python 控制台中的 SQLAlchemy base.metadata.create_all(engine) 中不显示表?

转载 作者:可可西里 更新时间:2023-11-01 11:46:09 24 4
gpt4 key购买 nike

我正在尝试创建数据库并在其中插入值。我正在使用 postgres 数据库。执行以下操作时我没有看到任何错误

>>> from sqlalchemy import create_engine
>>> engine = create_engine('postgresql://postgres:password@localhost:5432/mydatabase')
>>> from sqlalchemy.ext.declarative import declarative_base
>>> Base = declarative_base()
>>> from sqlalchemy import Column, Integer, String
>>> class User(Base):
... __tablename__ = 'users'
... id = Column(Integer, primary_key=True)
... fullname = Column(String)
... password = Column(String)
...
... def __repr__(self):
... return "<User(name='%s', fullname='%s', password='%s')>" % (self.name, self.fullname, self.password)


>>> User.__table__

给我

Table('users', MetaData(bind=None), Column('id', Integer(), table=<users>, primary_key=True, nullable=False), Column('fullname', String(), table=<users>), Column('password', String(), table=<users>), schema=None)

但是当我运行的时候

>>> Base.metadata.create_all(engine)

没有显示,在文档中给出了显示表及其属性的信息但是运行 Base.metadata.create_all(engine) 后什么也看不到

有人能提出一些解决方案吗?

最佳答案

如果您想查看 SQLAlchemy 正在发送的命令,您需要在引擎中打开 echo:

engine = create_engine('postgresql://...', echo=True)

当然,之后您总是可以使用 psql 或其他工具查看数据库。

关于python - 为什么在 python 控制台中的 SQLAlchemy base.metadata.create_all(engine) 中不显示表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23705948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com