python上sqlalchemy2.0语法mapper模式下创建删除表

from pathlib import Path
from sqlalchemy import create_engine,Column, Integer, String
from sqlalchemy.orm import Session,declarative_base

engine = create_engine('sqlite://' + str(Path.cwd()) / 'test.db3')
session = Session(engine)
Base = declarative_base()

class Test(Base)
     __tablename__ = 'test'
    id = Column(Integer, primary_key=True, autoincrement=True)
    name = Column(string(255))
    
    def __init__(self, name):
        self.name = name

print(Base.metadata.tables) # 这里返回的数据与Test.__table__一致
Base.metadata.drop_all(engine, [Test.__table__])
Test.__table__.create(engine)
session.add(Test('a'))
session.commit
session.close

最后一段还可以写为

with Sessin(engine) as session:
    session.add(Test('a'))
    session.commit()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容