flask - alembic:在修订文件中创建关系

标签 flask sqlalchemy alembic

我需要通过向现有表添加一张表和一列来更新我的数据库。
新列和表应该是一对多的关系。

这是 Alembic 修订文件:

def upgrade():
    op.create_table('categories',
        sa.Column('category_id', sa.Integer, primary_key=True),
        sa.Column('category_name', sa.String(30)),
        sa.Relationship('post', backref='cat', lazy='dynamic') )
    op.add_column('post', sa.Column('category', sa.Integer, sa.ForeignKey('categories.category_id')) )

问题出在这一行:
sa.Relationship('post', backref='cat', lazy='dynamic') )

在这里定义关系的正确代码是什么?
谢谢你

最佳答案

关系仅在 SQLAlchemy 端定义,而不是在 SQL 端定义。只需创建您需要的表或列,关系就会正常工作。因此,它不应该在迁移中。

关于flask - alembic:在修订文件中创建关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28108500/

相关文章:

python - flask 框架 : MVC pattern

flask - Flask Rate Limiter 是否适用于 Elasticache (Redis 2.8)?

python - 多线程和 SQLalchemy

Alembic - 如何获取单个修订版的 sql 脚本?

python - Flask-Migrate/Alembic 未使用基类和多文件结构检测模型

python-2.7 - Python Flask 立即响应

python - Flask-socketio:发送/发出消息的有效负载未正确显示在开发工具中

python - 如何使用 SQLAlchemy、pydantic 和 FastAPI 处理聚合查询结果

python - 属性错误 : 'SQLAlchemy' object has no attribute 'Models'

python - 将列插入我数据库中的所有表