Python 如何使用SQLAlchemy在PostgreSQL中创建表?

Python 如何使用SQLAlchemy在PostgreSQL中创建表?,python,postgresql,flask,sqlalchemy,Python,Postgresql,Flask,Sqlalchemy,我试图在“应用程序”数据库中创建表,但出现以下错误: app=# CREATE TABLE users; ERROR: syntax error at or near ";" LINE 1: LINE 1: CREATE TABLE users; ^ 列是在models.py中定义的,这就是为什么我不在这里创建它们。不要在PostgreSQL中创建表,SQLAlchemy将为您创建表(和列)。您所需要做的就是创建数据库,您已

我试图在“应用程序”数据库中创建表,但出现以下错误:

app=# CREATE TABLE users;
ERROR:  syntax error at or near ";"
LINE 1: LINE 1: CREATE TABLE users;
                                  ^

列是在
models.py
中定义的,这就是为什么我不在这里创建它们。

不要在PostgreSQL中创建表,SQLAlchemy将为您创建表(和列)。您所需要做的就是创建数据库,您已经完成了。要使用Alchemy创建表格,请执行以下操作:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String, nullable=False, unique=True)

with app.app_context():
    db.create_all()

为了解决错误(尽管如上所述,您不应该这样做),这是因为这不是一个完整的
CREATE TABLE
表达式。您需要为表指定零个或多个列

CREATE TABLE my_table ();

在我的例子中,忘记导入模型类和代码 运行时没有任何错误:)。

如果在交互模式下调用
create_all()
,请确保导入特定的模型类。

注意:每次对模型类进行更改时,请重新启动ipython