簡體   English   中英

如何使用 SQLAlchemy 在 PostgreSQL 中創建表?

[英]How do I create a table in PostgreSQL with SQLAlchemy?

我試圖在“app”數據庫​​中創建一個表,但得到這個錯誤:

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

這些列是在models.py中定義的,這就是我不在這里創建它們的原因。

不要在 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 ();

在我的情況下忘記導入我的模型類和代碼運行沒有任何錯誤:)。

如果您在交互模式下調用create_all()請確保您導入特定的模型類。

注意:每次對 Model 類進行更改時,都會重新啟動 ipython。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM