【发布时间】:2019-04-27 07:28:36
【问题描述】:
我已经为 Flask 应用程序创建了一个数据库,
class Post(db.Model, SearchableMixin):
__searchable__ = ['body']
id = db.Column(db.Integer, primary_key=True)
body = db.Column(db.String(140))
timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
language = db.Column(db.String(5))
# for the comment foreign key
comment = db.relationship('Comment', foreign_keys = 'Comment.post_id',
backref = 'post', lazy = 'dynamic')
photo = db.relationship('Photo', foreign_keys = 'Photo.post_idn',
backref = 'post', lazy = 'dynamic')
def __repr__(self):
return "<Post {}>".format(self.body)
class Photo(db.Model):
id = db.Column(db.Integer, primary_key = True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
photo_url = db.Column(db.String(200))
upload_time = db.Column(db.DateTime, index=True, default=datetime.utcnow)
new_field = db.Column(db.String(100))
post_id = db.Column(db.Integer, db.ForeignKey('post.id'))
def __repr__(self):
return '<Photo {}>'.format(self.photo_url)
当我运行烧瓶数据库迁移和升级时,它指出
[2018-11-25 21:07:03,439] init中的INFO:微博启动INFO [alembic.runtime.migration] 上下文实现 SQLiteImpl。信息 [alembic.runtime.migration] 将采用非事务性 DDL。
但是,当我尝试在烧瓶外壳中运行 Photo.query.all() 时,它给了我以下错误“没有这样的列:post_id”
我相信这是一个数据库迁移问题。有人知道我应该怎么做吗?
我愿意删除整个数据库并重新迁移所有内容。有人可以建议我如何做到这一点。谢谢。
【问题讨论】:
标签: python database flask database-migration