mysql - 在 SqlAlchemy 中,我应该使用经典映射还是其他方式?

标签 mysql sql database sqlalchemy

现在我正在这样做:

class MyTest(Base):
    __tablename__ = 'mytest'
    id = Column(Integer, primary_key = True)
    name = Column(String(255), nullable=False)
    created_at = Column(DateTime)
Base.metadata.create_all(engine)

但是在教程中,另一种方法是这样的:

user = Table('user', metadata,
    Column('user_id', Integer, primary_key = True),
    Column('user_name', String(16), nullable = False),
    Column('email_address', String(60)),
    Column('password', String(20), nullable = False)
)

我应该使用哪种方法?顺便说一句,我将使用 sqlalchemy-migrate,(我不知道这是否会改变答案)

最佳答案

如果您只想访问表中的数据并希望使用 SQLAlchemy 作为中介,那么您必须使用 TABLE。但是,如果您想将表的每一行用作单独的对象,那么您必须使用声明性基础。

您必须使用哪种方式取决于您以及您想要如何使用 SQLAlchemy。

关于mysql - 在 SqlAlchemy 中,我应该使用经典映射还是其他方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9158635/

相关文章:

php - Session_start 无法通过网络正常工作,出现此错误,我该如何解决?

mysql - 如何在子查询中使用 in 子句

mysql - 求助 MySQL incorrect number of arguments function 错误

sql - 根据今年今天、本周、本月、本季度汇总销售额的最快方法?

sql - Hive 查询中的语法错误

mysql - 正确的数据库索引与子查询

C# 从数据表中插入数据到 SQL Server 数据库

php - 在 PHP 中使用复选框删除 MySQL 记录

mysql - 前日SQL成交量

sql - ON [PRIMARY] 是什么意思?