gpt4 book ai didi

python - 如何使用 SqlAlchemy declarative_base 创建单个表

转载 作者:太空狗 更新时间:2023-10-30 00:22:09 26 4
gpt4 key购买 nike

要创建 User 表,我必须使用 drop_all 然后使用 create_all 方法。但是这两个函数重新启动了整个数据库。我想知道是否有一种方法可以在不删除(或删除)数据库中任何现有表的情况下创建 User 表?

import sqlalchemy
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()


class User(Base):
__tablename__ = 'users'
id = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True)
name = sqlalchemy.Column(sqlalchemy.String)

def __init__(self, code=None, *args, **kwargs):
self.name = name


url = 'postgresql+psycopg2://user:pass@01.02.03.04/my_db'
engine = sqlalchemy.create_engine(url)
session = sqlalchemy.orm.scoped_session(sqlalchemy.orm.sessionmaker())
session.configure(bind=engine, autoflush=False, expire_on_commit=False)

Base.metadata.drop_all(engine)
Base.metadata.create_all(engine)

最佳答案

您可以 create/drop individual tables :

User.__table__.drop(engine)
User.__table__.create(engine)

关于python - 如何使用 SqlAlchemy declarative_base 创建单个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45259764/

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