[英]Adding column dynamically to an existing table using sqlalchemy, alembic
[英]adding a ForeignKey constraint to an existing SQLAlchemy table
我有一个现有的表
class Table1(db.Model):
id = db.Column(db.Integer, primary_key=True)
primary_category_id = db.Column(db.Integer)
def __repr__(self):
return '<Table1 %r>' % (self.id)
已经填充了。 现在我想添加一个新表
class Query_Category(db.Model):
category_id = db.Column(db.Integer, primary_key=True)
category_string = db.Column(db.String(1000))
def __repr__(self):
return '<Query_Category %r>' % (self.category_id)
而旧表Table1的category_id,现在应该是新表的外键。 我正在使用flask-migrate 添加Query_Category 表并且工作正常,但是如何添加外键约束? 我试着把它添加为
primary_category_id = db.Column(db.Integer, db.ForeignKey('query_category.category_id'))
并运行flask-migrate,但这会导致以下错误
sqlalchemy.exc.NoReferencedTableError: Foreign key associated with column 'Table1.primary_category_id' could not find table 'query_category' with which to generate a foreign key to target column 'category_id'
如何向现有表添加外键约束?
尝试将__tablename__
字段添加到您的模型中
class Query_Category(Base):
__tablename__ = 'query_category'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.