【问题标题】:How do I create a table in PostgreSQL with SQLAlchemy?如何使用 SQLAlchemy 在 PostgreSQL 中创建表?
【发布时间】:2015-05-04 13:31:42
【问题描述】:

我试图在“app”数据库​​中创建一个表,但得到了这个错误:

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

这些列在models.py 中定义,这就是我不在此处创建它们的原因。

【问题讨论】:

    标签: python postgresql flask sqlalchemy


    【解决方案1】:

    不要在 PostgreSQL 中创建表,SQLAlchemy 会为你创建表(和列)。您需要做的就是创建您已经完成的数据库。使用 Flask-SQLAlchemy 创建表:

    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 ();
    

    【讨论】:

      【解决方案2】:

      在我的情况下忘记导入我的模型类和代码 运行没有任何错误:)。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-02-02
        • 2017-11-01
        • 2015-06-13
        • 1970-01-01
        • 2013-03-24
        • 2016-10-02
        • 2013-10-11
        相关资源
        最近更新 更多