sqlalchemy怎么修改表结构
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlalchemy怎么修改表结构相关的知识,希望对你有一定的参考价值。
参考技术A 得改动schema的逻辑相对复杂,把这项工作独立出来,另行开发了Alembic。此外, SQLAlchemy-Migrate 是另一个已有的比较完善的工具。解决办法(根据具体场景选择其一):
1. 对于非生产环境的数据库,在确保安全的前提下可以直接“炸库”(即将数据库中所有数据及表结构都删除),通过SQLAlchemy的Base.metadata.create_all()
自动建立表结构。优点是省时;缺点是风险高,只有在内测环境且数本回答被提问者采纳
SQLAlchemy中表结构的一对一
1.先创建两个数据库类,例如创建LOL与DATA2这两个类
LOL表为主表
class LOL(db.Model): __tablename__ = "lol" id = db.Column(db.Integer, primary_key=True) lname = db.Column(db.String(30), nullable=False) # 增加关联属性以及反向引用属性 data = db.relationship("DOTA2", backref = "lol", uselist=False) def __repr__(self): return "<LOL:%r>" % self.lname
DOTA2位从表,里面含有一个lol_id字段为外键,因此两张表进行了关联
class DOTA2(db.Model): __tablename__ = "dota2" id = db.Column(db.Integer, primary_key=True) dname = db.Column(db.String(30)) # 增加一个列(外键):表示引用自LOL表的外键 lol_id = db.Column(db.Integer, db.ForeignKey("lol.id")) def __init__(self, dname): self.dname = dname def __repr__(self): return "<DOTA2:%r>" % self.dname
接着往lol表中添加数据
以上是关于sqlalchemy怎么修改表结构的主要内容,如果未能解决你的问题,请参考以下文章