无法使用flask_sqlalchemy创建数据库

时间:2020-03-21 14:58:49

标签: postgresql flask flask-sqlalchemy

请;有人可以告诉我这段代码有什么问题吗?,我尝试使用flask sqlalchemy连接到我的postgre sql数据库,但是我仍然遇到错误,未定义 db 。注意:所有模块均已成功安装和加载。

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://postgres:....'

db = SQLAlchemy(app)

class Person(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.Text)
age = db.Column(db.Integer)

def __init__(self, name, age):
    self.name = name
    self.age = age

def __repr__(self):
    return "Name:{}\tAge:{}".format(self.name, self.age)

def create_database():
    db.create_all()

    print('Database created....')

if __name__ == "__main__":
    create_database() 

1 个答案:

答案 0 :(得分:0)

首先为sqlalchemy_utils(即pip install sqlalchemy_utils

然后

您需要使用引擎来创建数据库:

from sqlalchemy import create_engine
from sqlalchemy_utils import database_exists, create_database

engine = create_engine("postgres://localhost/somedb")
if not database_exists(engine.url):
    create_database(engine.url)

print(database_exists(engine.url))