gpt4 book ai didi

python - heroku 上的 Peewee 和 postgres,无法创建表

转载 作者:行者123 更新时间:2023-11-29 13:20:07 25 4
gpt4 key购买 nike

我在没有数据库的情况下尝试过我的应用程序运行良好,但是使用 peewee 和 postgres,它根本无法创建表。

my app

我尝试了网上发布的不同方法,但都不起作用,如果您在 heroku 上使用过 peewee,请帮忙。

我的模型.py

if os.environ.get('DATABASE_URL'):
DATABASE_URL = os.environ.get('DATABASE_URL')
db = urlparse(DATABASE_URL)
user = db.username
password = db.password
path = db.path[1:]
host = db.hostname
port = db.port
database = PostgresqlDatabase(path, user=user, password=password, host=host, port=port)
else:
database = PostgresqlDatabase('heroku')


class BaseModel(Model):
class Meta:
database = database


class User(BaseModel):
name = CharField()
email = CharField(null=False, unique=True)

将 create table 从 if 语句移动到 welcome function 表后创建。

@app.route('/')
def welcome():
call('printenv')
a = 'Default'
b = 'Default'
if os.environ.get('DATABASE_URL'):
a = os.environ.get('DATABASE_URL')
if os.environ.get('HEROKU'):
b = os.environ.get('HEROKU')
create_model_tables([Users], fail_silently=True)
Users.insert(name='John', email='Doe').execute()
return render_template('index.html', a=a, b=b)


if __name__ == '__main__':
app.run(port=5000, debug=True)

最佳答案

“用户”是一个保留表——尝试:

class User(Model):
...
class Meta:
db_table = 'users'

关于python - heroku 上的 Peewee 和 postgres,无法创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43505529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com