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

Err*_*ing 3 python database linux sqlalchemy postgresql-9.3

我正在尝试创建数据库并在其中插入值。我正在使用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__
Run Code Online (Sandbox Code Playgroud)

给我

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)
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时

>>> Base.metadata.create_all(engine)
Run Code Online (Sandbox Code Playgroud)

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

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

dav*_*ism 6

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

engine = create_engine('postgresql://...', echo=True)
Run Code Online (Sandbox Code Playgroud)

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