尝试在带有psycopg2 undefinedTable问题的Heroku上部署Flask应用程序

问题描述

我正在尝试在Heroku上部署Flask应用程序,但出现以下错误

enter image description here

上面的代码与下面的代码块相对应,我能够在本地计算机上以相同的确切代码运行它,而且我不确定为什么在将其推送到Heroku后为何情况不一样。

# returns list of strings of all Box_names in database
def get_Box_names():
    query = "SELECT * from Box"
    print(query)
    result = db.engine.execute(text(query))

    return [Box[0] for Box in result]

和我的数据库模型如下,

class Box(db.Model):
    Box_name = db.Column(db.String(255),primary_key=True)

    def __repr__(self):
        return '<Box %r>' % self.Box_name

class Channel(db.Model):
    channel_name = db.Column(db.String(255),primary_key=True)
    sensor_name = db.Column(db.String(255))

    def __repr__(self):
        return '<Channel {channel_name},Sensor {sensor_name}>'.format(
            channel_name=self.channel_name,sensor_name=self.sensor_name)

class Data(db.Model):
    Box_name = db.Column(db.String(255),db.ForeignKey('Box.Box_name'),primary_key=True)
    channel_name = db.Column(db.String(255),db.ForeignKey('channel.channel_name'),primary_key=True)
    time = db.Column(db.DateTime,primary_key=True)
    value = db.Column(db.Float)
    label = db.Column(db.String(255))

    def __repr__(self):
        return '<Data: {},{},{}>'.format(self.Box_name,self.channel_name,self.time,self.value,self.label)


class Picture(db.Model):
    Box_name = db.Column(db.String(255),primary_key=True)
    picture = db.Column(db.LargeBinary)

    def __repr__(self):
        return '<Picture: {},len(self.picture))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)