【问题标题】:fast api sqlalchemy table not created未创建快速 api sqlalchemy 表
【发布时间】:2021-01-09 01:55:41
【问题描述】:

我正在尝试运行我的第一个 Fast Api 应用程序,我尝试添加“用户”表,但在 postgres db 中没有创建任何内容

users = Table(
    "users",
    metadata,
    Column("id", Integer, primary_key=True),
    Column("name", String(50)),
    Column("age", Integer),
    Column("birthdate", Date),
    Column("blood_type", String(3)),
    Column("blood_pressure", Integer),
    Column("created_at", DateTime, default=datetime.utcnow().strftime("%Y-%m-%d" "%H:%M:%S"), nullable=False),
)

我的代码有问题吗?

【问题讨论】:

    标签: sqlalchemy fastapi


    【解决方案1】:

    我不确定您的代码的开始或延续,但您打算做的与SQLAlchemy 有关。根据the documentation,您实现的内容似乎是正确的,但我认为您忘记了部分代码。以下实现来自文档,您的实现适合它,除非您可能忘记了metadata.create_all() 部分(我试图猜测)?如果不是这样,如果您可以分享一些错误或用更多细节展示您的实现的整体性,那就太好了。

    engine = create_engine('sqlite:///:memory:')
    
    metadata = MetaData()
    
    user = Table('user', metadata,
        Column('user_id', Integer, primary_key=True),
        Column('user_name', String(16), nullable=False),
        Column('email_address', String(60), key='email'),
        Column('nickname', String(50), nullable=False)
    )
    
    user_prefs = Table('user_prefs', metadata,
        Column('pref_id', Integer, primary_key=True),
        Column('user_id', Integer, ForeignKey("user.user_id"), nullable=False),
        Column('pref_name', String(40), nullable=False),
        Column('pref_value', String(100))
    )
    
    metadata.create_all(engine)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-10
      • 2022-08-06
      • 2015-10-13
      • 2015-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多